<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	 
	 <meta name="description" content="XDMF parallel partitioned mesh I/O on top of HDF5">
    
    <meta name="author" content="Víctor Sande Veiga" >
    <link rel="icon" href="../favicon.png">

    <title>structured_spatial_grid_descriptor.f90 &ndash; XH5For</title>

    <link href="../css/bootstrap.min.css" rel="stylesheet">
    <link href="../css/pygments.css" rel="stylesheet">
    <link href="../css/font-awesome.min.css" rel="stylesheet">
    <link href="../css/local.css" rel="stylesheet">
    

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    
    <script src="../js/jquery-2.1.3.min.js"></script>
    <script src="../js/svg-pan-zoom.min.js"></script>

  </head>

  <body>

    <!-- Fixed navbar -->
    <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="../index.html">XH5For </a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
				
            <li class="dropdown hidden-xs visible-sm visible-md hidden-lg">
              <a href="#" class="dropdown-toggle"
              data-toggle="dropdown" role="button"
              aria-haspopup="true"
		 aria-expanded="false">Contents <span class="caret"></span></a>
	      <ul class="dropdown-menu">
              
            <li><a href="../lists/files.html">Source Files</a></li>
				
				
            <li><a href="../lists/modules.html">Modules</a></li>
				
            
                                
            <li><a href="../lists/procedures.html">Procedures</a></li>
				
								
            <li><a href="../lists/types.html">Derived Types</a></li>
				
				
            <li><a href="../lists/programs.html">Programs</a></li>
				
            </ul>
            </li>

<li class="visible-xs hidden-sm visible-lg"><a href="../lists/files.html">Source Files</a></li>


<li class="visible-xs hidden-sm visible-lg"><a href="../lists/modules.html">Modules</a></li>



<li class="visible-xs hidden-sm visible-lg"><a href="../lists/procedures.html">Procedures</a></li>

                             
<li class="visible-xs hidden-sm visible-lg"><a href="../lists/types.html">Derived Types</a></li>


<li class="visible-xs hidden-sm visible-lg"><a href="../lists/programs.html">Programs</a></li>

          </ul>
        
        <form action="../search.html" class="navbar-form navbar-right" role="search">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search" name="q" id="tipue_search_input" autocomplete="off" required>
        </div>
<!--
        <button type="submit" class="btn btn-default">Submit</button>
-->
        </form>
        
        </div><!--/.nav-collapse -->
      </div>
    </nav>

    <div class="container">
    
  
  <div class="row">
    <h1>structured_spatial_grid_descriptor.f90
    <small>Source File</small>
    
    </h1>
    
<div class="row">
  <div class="col-lg-12">
<div class="well well-sm">
  <ul class="list-inline" style="margin-bottom:0px;display:inline">
     
     
     
     
    
    
     <li><i class="fa fa-list-ol"></i>
       <a data-toggle="tooltip"
	  data-placement="bottom" data-html="true"
	  title=" 3.1% of total for source files.">408 statements</a>
     </li> 
     
     
    <li><i class="fa fa-code"></i><a href="../src/structured_spatial_grid_descriptor.f90"> Source File</a></li>
     
  </ul>
  <ol class="breadcrumb in-well text-right">
  
     <li class="active">structured_spatial_grid_descriptor.f90</li>
  </ol>
</div>
</div>
</div>
<script>
  $(function () {
  $('[data-toggle="tooltip"]').tooltip()
  })
</script>

  </div>
  <div class="row">
    <div class="col-md-3 hidden-xs hidden-sm visible-md visible-lg">
    
<div id="sidebar">
  






<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#mods-0">Modules</a></h3></div>
  <div id="mods-0" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../module/structured_spatial_grid_descriptor.html">structured_spatial_grid_descriptor</a>
      
    </div>
  </div>
</div>















<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div>
  <div class="list-group">
    <a class="list-group-item" href="../sourcefile/structured_spatial_grid_descriptor.f90.html#src">structured_spatial_grid_descriptor.f90</a>
  </div>
</div>


  <hr>
  

<div class="panel panel-default">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#allfiles-0">All Source Files</a></h3></div>
  <div id="allfiles-0" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../sourcefile/ch_unstructured_hexahedron_perf.f90.html">ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/fox_xdmf.f90.html">fox_xdmf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_contiguous_hyperslab_handler.f90.html">hdf5_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_dataset_per_process_handler.f90.html">hdf5_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_handler.f90.html">hdf5_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_contiguous_hyperslab_handler.f90.html">hdf5_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_dataset_per_process_handler.f90.html">hdf5_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_contiguous_hyperslab_handler.f90.html">hdf5_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_dataset_per_process_handler.f90.html">hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/mpi_environment.f90.html">mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/spatial_grid_descriptor.f90.html">spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler.f90.html">steps_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler_test.f90.html">steps_handler_test.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_contiguous_hyperslab_factory.f90.html">structured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_dataset_per_process_factory.f90.html">structured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_spatial_grid_descriptor.f90.html">structured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_uniform_grid_descriptor.f90.html">structured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_fox_wxml.f90.html">test_FoX_wxml.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90.html">test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_dataset_per_process_handler.f90.html">test_hdf5_rectilinear_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_contiguous_hyperslabs_handler.f90.html">test_hdf5_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_dataset_per_process_handler.f90.html">test_hdf5_regular_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_contiguous_hyperslabs_handler.f90.html">test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_dataset_per_process_handler.f90.html">test_hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_mpi_environment.f90.html">test_mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_attribute.f90.html">test_xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_character_data.f90.html">test_xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_dataitem.f90.html">test_xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_geometry.f90.html">test_xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_grid.f90.html">test_xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90.html">test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_dataset_per_process.f90.html">test_xdmf_rectilinear_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_contiguous_hyperslabs_handler.f90.html">test_xdmf_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_dataset_per_process.f90.html">test_xdmf_regular_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_time.f90.html">test_xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_topology.f90.html">test_xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_contiguous_hyperslabs_handler.f90.html">test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_dataset_per_process.f90.html">test_xdmf_unstructured_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_xinclude.f90.html">test_xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_hdf5_mod.f90.html">try_compile_hdf5_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_mpi_mod.f90.html">try_compile_mpi_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/uniform_grid_descriptor.f90.html">uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_contiguous_hyperslab_factory.f90.html">unstructured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_dataset_per_process_factory.f90.html">unstructured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_spatial_grid_descriptor.f90.html">unstructured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_uniform_grid_descriptor.f90.html">unstructured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_attribute.f90.html">xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_character_data.f90.html">xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_contiguous_hyperslab_handler.f90.html">xdmf_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataitem.f90.html">xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataset_per_process_handler.f90.html">xdmf_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_domain.f90.html">xdmf_domain.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_element.f90.html">xdmf_element.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_file.f90.html">xdmf_file.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_geometry.f90.html">xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_grid.f90.html">xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_handler.f90.html">xdmf_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_information.f90.html">xdmf_information.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_parameters.f90.html">xdmf_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_contiguous_hyperslab_handler.f90.html">xdmf_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_dataset_per_process_handler.f90.html">xdmf_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_time.f90.html">xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_topology.f90.html">xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_contiguous_hyperslab_handler.f90.html">xdmf_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_dataset_per_process_handler.f90.html">xdmf_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_utils.f90.html">xdmf_utils.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_xinclude.f90.html">xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for.f90.html">xh5for.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_abstract_factory.f90.html">xh5for_abstract_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_grid.f90.html">xh5for_ch_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_non_static_grid_series.f90.html">xh5for_ch_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_static_grid_series.f90.html">xh5for_ch_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_grid.f90.html">xh5for_ch_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_non_static_grid_series.f90.html">xh5for_ch_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_static_grid_series.f90.html">xh5for_ch_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron.f90.html">xh5for_ch_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron_perf.f90.html">xh5for_ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_mixedtopology.f90.html">xh5for_ch_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_non_static_tetrahedron.f90.html">xh5for_ch_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_quadilateral.f90.html">xh5for_ch_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_mixed_series.f90.html">xh5for_ch_unstructured_static_mixed_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_tetrahedron.f90.html">xh5for_ch_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_tetrahedron.f90.html">xh5for_ch_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_triangles.f90.html">xh5for_ch_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_grid.f90.html">xh5for_dpp_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_non_static_grid_series.f90.html">xh5for_dpp_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_static_grid_series.f90.html">xh5for_dpp_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_grid.f90.html">xh5for_dpp_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_non_static_grid_series.f90.html">xh5for_dpp_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_static_grid_series.f90.html">xh5for_dpp_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_hexahedron.f90.html">xh5for_dpp_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_mixedtopology.f90.html">xh5for_dpp_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_non_static_tetrahedron.f90.html">xh5for_dpp_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_quadilateral.f90.html">xh5for_dpp_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_static_tetrahedron.f90.html">xh5for_dpp_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_tetrahedron.f90.html">xh5for_dpp_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_triangles.f90.html">xh5for_dpp_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_factory.f90.html">xh5for_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_handler.f90.html">xh5for_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_metadata.f90.html">xh5for_metadata.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_parameters.f90.html">xh5for_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_utils.f90.html">xh5for_utils.f90</a>
      
    </div>
  </div>
</div>


</div>  

    </div>
    <div class="col-md-9" id='text'>
    
    
    <h3>This File Depends On</h3>
    
                <div class="depgraph"><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph Pages: 1 -->
<svg id="sourcefilestructured_spatial_grid_descriptorf90EfferentGraph" width="641pt" height="105pt"
 viewBox="0.00 0.00 641.00 105.48" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph" class="graph" transform="scale(0.671908 0.671908) rotate(0) translate(4 152.985)">
<title>sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-152.985 950,-152.985 950,4 -4,4"/>
<!-- sourcefile~structured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_node1" class="node"><title>sourcefile~structured_spatial_grid_descriptor.f90</title>
<polygon fill="none" stroke="black" points="946,-95.225 753,-95.225 753,-71.225 946,-71.225 946,-95.225"/>
<text text-anchor="middle" x="849.5" y="-80.825" font-family="Helvetica,sans-Serif" font-size="10.50">structured_spatial_grid_descriptor.f90</text>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_node2" class="node"><title>sourcefile~spatial_grid_descriptor.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_node2"><a xlink:href="../sourcefile/spatial_grid_descriptor.f90.html" xlink:title="spatial_grid_descriptor.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="717,-95.225 578,-95.225 578,-71.225 717,-71.225 717,-95.225"/>
<text text-anchor="middle" x="647.5" y="-80.825" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">spatial_grid_descriptor.f90</text>
</a>
</g>
</g>
<!-- sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_edge10" class="edge"><title>sourcefile~spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M717.049,-83.225C725.339,-83.225 733.95,-83.225 742.62,-83.225"/>
<polygon fill="#000000" stroke="#000000" points="742.81,-86.7251 752.81,-83.225 742.81,-79.7251 742.81,-86.7251"/>
</g>
<!-- sourcefile~xh5for_parameters.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_node3" class="node"><title>sourcefile~xh5for_parameters.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_node3"><a xlink:href="../sourcefile/xh5for_parameters.f90.html" xlink:title="xh5for_parameters.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="272,-125.225 151,-125.225 151,-101.225 272,-101.225 272,-125.225"/>
<text text-anchor="middle" x="211.5" y="-110.825" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_parameters.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_edge11" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M351.5,-123.225C387.164,-124.506 393.625,-139.517 429,-144.225 564.97,-162.321 725.314,-121.733 802.469,-98.3198"/>
<polygon fill="#000000" stroke="#000000" points="803.821,-101.566 812.348,-95.2769 801.761,-94.8757 803.821,-101.566"/>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_edge4" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M272.128,-118.54C296.144,-120.429 324.118,-122.313 349.5,-123.225"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M351.5,-123.225C413.187,-125.441 422.909,-87.313 484.5,-83.225"/>
</g>
<!-- sourcefile~xh5for_utils.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_node4" class="node"><title>sourcefile~xh5for_utils.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_node4"><a xlink:href="../sourcefile/xh5for_utils.f90.html" xlink:title="xh5for_utils.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="393,-55.225 308,-55.225 308,-31.225 393,-31.225 393,-55.225"/>
<text text-anchor="middle" x="350.5" y="-40.825" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_utils.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_utils.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_edge7" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_utils.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M236.555,-101.161C247.398,-95.707 260.355,-89.1656 272,-83.225 286.794,-75.6778 303.138,-67.2547 316.989,-60.0918"/>
<polygon fill="#000000" stroke="#000000" points="318.857,-63.0658 326.129,-55.3605 315.639,-56.8492 318.857,-63.0658"/>
</g>
<!-- sourcefile~xh5for_metadata.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_node7" class="node"><title>sourcefile~xh5for_metadata.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_node7"><a xlink:href="../sourcefile/xh5for_metadata.f90.html" xlink:title="xh5for_metadata.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="541.5,-135.225 429.5,-135.225 429.5,-111.225 541.5,-111.225 541.5,-135.225"/>
<text text-anchor="middle" x="485.5" y="-120.825" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_metadata.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_metadata.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_edge2" class="edge"><title>sourcefile~xh5for_parameters.f90&#45;&gt;sourcefile~xh5for_metadata.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M351.5,-123.225C373.612,-124.019 397.805,-124.219 419.423,-124.158"/>
<polygon fill="#000000" stroke="#000000" points="419.498,-127.658 429.482,-124.111 419.465,-120.658 419.498,-127.658"/>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_edge12" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M391.555,-31.0993C448.271,-15.4558 555.245,8.43877 646.5,-3.22504"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M648.5,-3.22504C713.068,-10.5848 782.133,-44.8147 819.838,-66.0446"/>
<polygon fill="#000000" stroke="#000000" points="818.31,-69.2029 828.727,-71.1377 821.79,-63.1292 818.31,-69.2029"/>
</g>
<!-- sourcefile~mpi_environment.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_node5" class="node"><title>sourcefile~mpi_environment.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_node5"><a xlink:href="../sourcefile/mpi_environment.f90.html" xlink:title="mpi_environment.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="542,-55.225 429,-55.225 429,-31.225 542,-31.225 542,-55.225"/>
<text text-anchor="middle" x="485.5" y="-40.825" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">mpi_environment.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~mpi_environment.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_edge9" class="edge"><title>sourcefile~xh5for_utils.f90&#45;&gt;sourcefile~mpi_environment.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M393.217,-43.225C401.321,-43.225 409.998,-43.225 418.659,-43.225"/>
<polygon fill="#000000" stroke="#000000" points="418.785,-46.7251 428.785,-43.225 418.785,-39.7251 418.785,-46.7251"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_edge13" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~structured_spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M511.096,-31.1146C542.215,-17.1841 597.649,3.01885 646.5,-3.22504"/>
</g>
<!-- sourcefile~mpi_environment.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_edge3" class="edge"><title>sourcefile~mpi_environment.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M534.505,-55.2264C551.357,-59.4392 570.476,-64.219 588.086,-68.6216"/>
<polygon fill="#000000" stroke="#000000" points="587.702,-72.1332 598.252,-71.1631 589.4,-65.3422 587.702,-72.1332"/>
</g>
<!-- sourcefile~xdmf_utils.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_node6" class="node"><title>sourcefile~xdmf_utils.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_node6"><a xlink:href="../sourcefile/xdmf_utils.f90.html" xlink:title="xdmf_utils.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="251,-74.225 172,-74.225 172,-50.225 251,-50.225 251,-74.225"/>
<text text-anchor="middle" x="211.5" y="-59.825" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_utils.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_edge5" class="edge"><title>sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M251.231,-68.89C303.979,-77.1271 401.367,-89.3496 484.5,-83.225"/>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M486.5,-83.225C512.926,-81.471 541.862,-81.0236 567.772,-81.1527"/>
<polygon fill="#000000" stroke="#000000" points="567.89,-84.6536 577.917,-81.2329 567.945,-77.6538 567.89,-84.6536"/>
</g>
<!-- sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xh5for_utils.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_edge8" class="edge"><title>sourcefile~xdmf_utils.f90&#45;&gt;sourcefile~xh5for_utils.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M251.027,-56.8819C265.569,-54.8651 282.357,-52.5369 297.905,-50.3805"/>
<polygon fill="#000000" stroke="#000000" points="298.483,-53.834 307.907,-48.9934 297.521,-46.9003 298.483,-53.834"/>
</g>
<!-- sourcefile~xh5for_metadata.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_edge6" class="edge"><title>sourcefile~xh5for_metadata.f90&#45;&gt;sourcefile~spatial_grid_descriptor.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M534.505,-111.224C551.357,-107.011 570.476,-102.231 588.086,-97.8285"/>
<polygon fill="#000000" stroke="#000000" points="589.4,-101.108 598.252,-95.287 587.702,-94.3169 589.4,-101.108"/>
</g>
<!-- sourcefile~xdmf_parameters.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_node8" class="node"><title>sourcefile~xdmf_parameters.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_node8"><a xlink:href="../sourcefile/xdmf_parameters.f90.html" xlink:title="xdmf_parameters.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="115,-74.225 7.10543e-15,-74.225 7.10543e-15,-50.225 115,-50.225 115,-74.225"/>
<text text-anchor="middle" x="57.5" y="-59.825" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xdmf_parameters.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xdmf_parameters.f90&#45;&gt;sourcefile~xdmf_utils.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~EfferentGraph_edge1" class="edge"><title>sourcefile~xdmf_parameters.f90&#45;&gt;sourcefile~xdmf_utils.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M115.099,-62.225C130.461,-62.225 146.956,-62.225 161.838,-62.225"/>
<polygon fill="#000000" stroke="#000000" points="161.849,-65.7251 171.849,-62.225 161.849,-58.7251 161.849,-65.7251"/>
</g>
</g>
</svg>
</div>
                <script>var pansourcefilestructured_spatial_grid_descriptorf90EfferentGraph = svgPanZoom('#sourcefilestructured_spatial_grid_descriptorf90EfferentGraph', {
                    zoomEnabled: true,
                    controlIconsEnabled: true,
                    fit: true,
                    center: true,});
                    </script>
                <div><a type="button" class="graph-help" data-toggle="modal" href="#graph-help-text">Help</a></div>
                <div class="modal fade" id="graph-help-text" tabindex="-1" role="dialog">
                  <div class="modal-dialog modal-lg" role="document">
                    <div class="modal-content">
                      <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        <h4 class="modal-title" id="-graph-help-label">Graph Key</h4>
                      </div>
                      <div class="modal-body">
                        
    <p>Nodes of different colours represent the following: </p>
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: Graph Key Pages: 1 -->
<svg width="190pt" height="32pt"
 viewBox="0.00 0.00 190.00 32.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 28)">
<title>Graph Key</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-28 186,-28 186,4 -4,4"/>
<!-- Source File -->
<g id="node1" class="node"><title>Source File</title>
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="67,-24 0,-24 0,-0 67,-0 67,-24"/>
<text text-anchor="middle" x="33.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Source File</text>
</g>
<!-- This Page&#39;s Entity -->
<g id="node2" class="node"><title>This Page&#39;s Entity</title>
<polygon fill="none" stroke="black" points="182,-24 85,-24 85,-0 182,-0 182,-24"/>
<text text-anchor="middle" x="133.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50">This Page&#39;s Entity</text>
</g>
</g>
</svg>

    
    <p>Solid arrows point from a file to a file which depends upon it. A file 
    is dependent upon another if the latter must be compiled before the former
    can be.
    </p>
    
                      </div>
                    </div>
                  </div>
                </div>
                
    
      
      <h3>Files Dependent On This One</h3>
      
                <div class="depgraph"><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph Pages: 1 -->
<svg id="sourcefilestructured_spatial_grid_descriptorf90AfferentGraph" width="641pt" height="624pt"
 viewBox="0.00 0.00 641.00 623.88" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph" class="graph" transform="scale(0.535058 0.535058) rotate(0) translate(4 1162)">
<title>sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-1162 1194,-1162 1194,4 -4,4"/>
<!-- sourcefile~structured_spatial_grid_descriptor.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node1" class="node"><title>sourcefile~structured_spatial_grid_descriptor.f90</title>
<polygon fill="none" stroke="black" points="193,-423 0,-423 0,-399 193,-399 193,-423"/>
<text text-anchor="middle" x="96.5" y="-408.6" font-family="Helvetica,sans-Serif" font-size="10.50">structured_spatial_grid_descriptor.f90</text>
</g>
<!-- sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node2" class="node"><title>sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node2"><a xlink:href="../sourcefile/structured_contiguous_hyperslab_factory.f90.html" xlink:title="structured_contiguous_hyperslab_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="486,-612 259,-612 259,-588 486,-588 486,-612"/>
<text text-anchor="middle" x="372.5" y="-597.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">structured_contiguous_hyperslab_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge33" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_contiguous_hyperslab_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M103.04,-423.335C118.082,-455.239 163.032,-540.659 229,-579 235.317,-582.672 242.049,-585.779 249.018,-588.402"/>
<polygon fill="#000000" stroke="#000000" points="248.057,-591.772 258.651,-591.688 250.316,-585.147 248.057,-591.772"/>
</g>
<!-- sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node3" class="node"><title>sourcefile~structured_dataset_per_process_factory.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node3"><a xlink:href="../sourcefile/structured_dataset_per_process_factory.f90.html" xlink:title="structured_dataset_per_process_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="484,-570 261,-570 261,-546 484,-546 484,-570"/>
<text text-anchor="middle" x="372.5" y="-555.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">structured_dataset_per_process_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge34" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~structured_dataset_per_process_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M106.032,-423.234C124.857,-449.155 172.77,-509.478 229,-537 236.028,-540.44 243.466,-543.352 251.11,-545.815"/>
<polygon fill="#000000" stroke="#000000" points="250.305,-549.227 260.887,-548.701 252.287,-542.513 250.305,-549.227"/>
</g>
<!-- sourcefile~test_xdmf_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node4" class="node"><title>sourcefile~test_xdmf_regular_contiguous_hyperslabs_handler.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node4"><a xlink:href="../sourcefile/test_xdmf_regular_contiguous_hyperslabs_handler.f90.html" xlink:title="test_xdmf_regular_contiguous_hyperslabs_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="509.5,-528 235.5,-528 235.5,-504 509.5,-504 509.5,-528"/>
<text text-anchor="middle" x="372.5" y="-513.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_xdmf_regular_contiguous_hyperslabs_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge35" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_regular_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M111.773,-423.058C134.8,-441.797 182.304,-477.563 229,-495 235.375,-497.38 242.004,-499.492 248.762,-501.365"/>
<polygon fill="#000000" stroke="#000000" points="248.183,-504.83 258.741,-503.942 249.934,-498.053 248.183,-504.83"/>
</g>
<!-- sourcefile~test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node5" class="node"><title>sourcefile~test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node5"><a xlink:href="../sourcefile/test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90.html" xlink:title="test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="516,-486 229,-486 229,-462 516,-462 516,-486"/>
<text text-anchor="middle" x="372.5" y="-471.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge36" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M130.052,-423.033C156.415,-432.378 194.68,-445.046 229,-453 240.514,-455.669 252.635,-458.068 264.744,-460.206"/>
<polygon fill="#000000" stroke="#000000" points="264.454,-463.707 274.901,-461.94 265.633,-456.806 264.454,-463.707"/>
</g>
<!-- sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node6" class="node"><title>sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node6"><a xlink:href="../sourcefile/test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90.html" xlink:title="test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="515,-444 230,-444 230,-420 515,-420 515,-444"/>
<text text-anchor="middle" x="372.5" y="-429.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge37" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M193.332,-418.345C201.966,-419.006 210.84,-419.687 219.799,-420.373"/>
<polygon fill="#000000" stroke="#000000" points="219.703,-423.876 229.941,-421.151 220.238,-416.897 219.703,-423.876"/>
</g>
<!-- sourcefile~test_hdf5_regular_dataset_per_process_handler.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node7" class="node"><title>sourcefile~test_hdf5_regular_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node7"><a xlink:href="../sourcefile/test_hdf5_regular_dataset_per_process_handler.f90.html" xlink:title="test_hdf5_regular_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="504,-402 241,-402 241,-378 504,-378 504,-402"/>
<text text-anchor="middle" x="372.5" y="-387.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_regular_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_regular_dataset_per_process_handler.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge38" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_regular_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M193.332,-403.655C205.387,-402.731 217.911,-401.771 230.481,-400.808"/>
<polygon fill="#000000" stroke="#000000" points="230.859,-404.289 240.563,-400.035 230.324,-397.31 230.859,-404.289"/>
</g>
<!-- sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node8" class="node"><title>sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node8"><a xlink:href="../sourcefile/test_hdf5_rectilinear_dataset_per_process_handler.f90.html" xlink:title="test_hdf5_rectilinear_dataset_per_process_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="510.5,-360 234.5,-360 234.5,-336 510.5,-336 510.5,-360"/>
<text text-anchor="middle" x="372.5" y="-345.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_rectilinear_dataset_per_process_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge39" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_rectilinear_dataset_per_process_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M130.052,-398.967C156.415,-389.622 194.68,-376.954 229,-369 240.514,-366.331 252.635,-363.932 264.744,-361.794"/>
<polygon fill="#000000" stroke="#000000" points="265.633,-365.194 274.901,-360.06 264.454,-358.293 265.633,-365.194"/>
</g>
<!-- sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node9" class="node"><title>sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node9"><a xlink:href="../sourcefile/test_hdf5_regular_contiguous_hyperslabs_handler.f90.html" xlink:title="test_hdf5_regular_contiguous_hyperslabs_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="508.5,-318 236.5,-318 236.5,-294 508.5,-294 508.5,-318"/>
<text text-anchor="middle" x="372.5" y="-303.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_hdf5_regular_contiguous_hyperslabs_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge40" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_hdf5_regular_contiguous_hyperslabs_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M111.773,-398.942C134.8,-380.203 182.304,-344.437 229,-327 235.375,-324.62 242.004,-322.508 248.762,-320.635"/>
<polygon fill="#000000" stroke="#000000" points="249.934,-323.947 258.741,-318.058 248.183,-317.17 249.934,-323.947"/>
</g>
<!-- sourcefile~test_xdmf_rectilinear_dataset_per_process.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node10" class="node"><title>sourcefile~test_xdmf_rectilinear_dataset_per_process.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node10"><a xlink:href="../sourcefile/test_xdmf_rectilinear_dataset_per_process.f90.html" xlink:title="test_xdmf_rectilinear_dataset_per_process.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="490.5,-276 254.5,-276 254.5,-252 490.5,-252 490.5,-276"/>
<text text-anchor="middle" x="372.5" y="-261.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_xdmf_rectilinear_dataset_per_process.f90</text>
</a>
</g>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_dataset_per_process.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge41" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_rectilinear_dataset_per_process.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M106.032,-398.766C124.857,-372.845 172.77,-312.522 229,-285 233.983,-282.561 239.173,-280.387 244.497,-278.45"/>
<polygon fill="#000000" stroke="#000000" points="245.826,-281.696 254.207,-275.214 243.614,-275.055 245.826,-281.696"/>
</g>
<!-- sourcefile~test_xdmf_regular_dataset_per_process.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node11" class="node"><title>sourcefile~test_xdmf_regular_dataset_per_process.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node11"><a xlink:href="../sourcefile/test_xdmf_regular_dataset_per_process.f90.html" xlink:title="test_xdmf_regular_dataset_per_process.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="484,-234 261,-234 261,-210 484,-210 484,-234"/>
<text text-anchor="middle" x="372.5" y="-219.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">test_xdmf_regular_dataset_per_process.f90</text>
</a>
</g>
</g>
<!-- sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_regular_dataset_per_process.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge42" class="edge"><title>sourcefile~structured_spatial_grid_descriptor.f90&#45;&gt;sourcefile~test_xdmf_regular_dataset_per_process.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M103.04,-398.665C118.082,-366.761 163.032,-281.341 229,-243 235.994,-238.935 243.495,-235.562 251.264,-232.771"/>
<polygon fill="#000000" stroke="#000000" points="252.432,-236.072 260.858,-229.648 250.266,-229.416 252.432,-236.072"/>
</g>
<!-- sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node12" class="node"><title>sourcefile~xh5for_factory.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node12"><a xlink:href="../sourcefile/xh5for_factory.f90.html" xlink:title="xh5for_factory.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="651,-591 552,-591 552,-567 651,-567 651,-591"/>
<text text-anchor="middle" x="601.5" y="-576.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_factory.f90</text>
</a>
</g>
</g>
<!-- sourcefile~structured_contiguous_hyperslab_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge31" class="edge"><title>sourcefile~structured_contiguous_hyperslab_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M486.002,-589.592C505.206,-587.816 524.447,-586.036 541.528,-584.456"/>
<polygon fill="#000000" stroke="#000000" points="542.229,-587.906 551.864,-583.499 541.584,-580.936 542.229,-587.906"/>
</g>
<!-- sourcefile~structured_dataset_per_process_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge32" class="edge"><title>sourcefile~structured_dataset_per_process_factory.f90&#45;&gt;sourcefile~xh5for_factory.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M484.008,-568.223C503.895,-570.063 523.906,-571.914 541.594,-573.551"/>
<polygon fill="#000000" stroke="#000000" points="541.442,-577.051 551.722,-574.487 542.087,-570.081 541.442,-577.051"/>
</g>
<!-- sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node13" class="node"><title>sourcefile~xh5for_handler.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node13"><a xlink:href="../sourcefile/xh5for_handler.f90.html" xlink:title="xh5for_handler.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="790,-591 687,-591 687,-567 790,-567 790,-591"/>
<text text-anchor="middle" x="738.5" y="-576.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_handler.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_factory.f90&#45;&gt;sourcefile~xh5for_handler.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge30" class="edge"><title>sourcefile~xh5for_factory.f90&#45;&gt;sourcefile~xh5for_handler.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M651.238,-579C659.4,-579 667.959,-579 676.384,-579"/>
<polygon fill="#000000" stroke="#000000" points="676.559,-582.5 686.558,-579 676.558,-575.5 676.559,-582.5"/>
</g>
<!-- sourcefile~xh5for.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node14" class="node"><title>sourcefile~xh5for.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node14"><a xlink:href="../sourcefile/xh5for.f90.html" xlink:title="xh5for.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="887,-591 826,-591 826,-567 887,-567 887,-591"/>
<text text-anchor="middle" x="856.5" y="-576.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for_handler.f90&#45;&gt;sourcefile~xh5for.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge29" class="edge"><title>sourcefile~xh5for_handler.f90&#45;&gt;sourcefile~xh5for.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M790.042,-579C798.628,-579 807.435,-579 815.695,-579"/>
<polygon fill="#000000" stroke="#000000" points="815.806,-582.5 825.806,-579 815.806,-575.5 815.806,-582.5"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node15" class="node"><title>sourcefile~xh5for_dpp_unstructured_tetrahedron.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node15"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_tetrahedron.f90.html" xlink:title="xh5for_dpp_unstructured_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1162.5,-1158 950.5,-1158 950.5,-1134 1162.5,-1134 1162.5,-1158"/>
<text text-anchor="middle" x="1056.5" y="-1143.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge1" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M858.106,-591.445C862.004,-669.097 884.592,-1085.11 923,-1125 928.276,-1130.48 934.361,-1134.9 940.965,-1138.45"/>
<polygon fill="#000000" stroke="#000000" points="939.718,-1141.73 950.263,-1142.76 942.662,-1135.38 939.718,-1141.73"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_hexahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node16" class="node"><title>sourcefile~xh5for_dpp_unstructured_hexahedron.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node16"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_hexahedron.f90.html" xlink:title="xh5for_dpp_unstructured_hexahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1163.5,-1116 949.5,-1116 949.5,-1092 1163.5,-1092 1163.5,-1116"/>
<text text-anchor="middle" x="1056.5" y="-1101.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_hexahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_hexahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge2" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_hexahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M857.201,-591.289C855.76,-661.4 852.259,-1010.25 923,-1083 928.018,-1088.16 933.756,-1092.38 939.967,-1095.81"/>
<polygon fill="#000000" stroke="#000000" points="938.842,-1099.15 949.375,-1100.3 941.853,-1092.84 938.842,-1099.15"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node17" class="node"><title>sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node17"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_non_static_tetrahedron.f90.html" xlink:title="xh5for_dpp_unstructured_non_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1190,-1074 923,-1074 923,-1050 1190,-1050 1190,-1074"/>
<text text-anchor="middle" x="1056.5" y="-1059.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_non_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge3" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_non_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M857.361,-591.127C856.866,-657.366 857.949,-974.877 923,-1041 923.817,-1041.83 924.652,-1042.64 925.505,-1043.42"/>
<polygon fill="#000000" stroke="#000000" points="923.611,-1046.38 933.629,-1049.83 927.948,-1040.89 923.611,-1046.38"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_static_mixed_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node18" class="node"><title>sourcefile~xh5for_ch_unstructured_static_mixed_series.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node18"><a xlink:href="../sourcefile/xh5for_ch_unstructured_static_mixed_series.f90.html" xlink:title="xh5for_ch_unstructured_static_mixed_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1178.5,-1032 934.5,-1032 934.5,-1008 1178.5,-1008 1178.5,-1032"/>
<text text-anchor="middle" x="1056.5" y="-1017.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_static_mixed_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_mixed_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge4" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_mixed_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M857.55,-591.248C858.072,-654.077 863.715,-939.568 923,-999 923.971,-999.974 924.969,-1000.91 925.99,-1001.82"/>
<polygon fill="#000000" stroke="#000000" points="924.193,-1004.85 934.261,-1008.15 928.449,-999.296 924.193,-1004.85"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node19" class="node"><title>sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node19"><a xlink:href="../sourcefile/xh5for_ch_unstructured_non_static_tetrahedron.f90.html" xlink:title="xh5for_ch_unstructured_non_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1186.5,-990 926.5,-990 926.5,-966 1186.5,-966 1186.5,-990"/>
<text text-anchor="middle" x="1056.5" y="-975.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_non_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge5" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_non_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M857.779,-591.18C859.39,-650.02 869.401,-904.167 923,-957 923.956,-957.943 924.937,-958.854 925.94,-959.734"/>
<polygon fill="#000000" stroke="#000000" points="923.966,-962.629 934.046,-965.892 928.2,-957.055 923.966,-962.629"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_quadilateral.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node20" class="node"><title>sourcefile~xh5for_ch_unstructured_quadilateral.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node20"><a xlink:href="../sourcefile/xh5for_ch_unstructured_quadilateral.f90.html" xlink:title="xh5for_ch_unstructured_quadilateral.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1159,-948 954,-948 954,-924 1159,-924 1159,-948"/>
<text text-anchor="middle" x="1056.5" y="-933.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_quadilateral.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_quadilateral.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge6" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_quadilateral.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M858.07,-591.271C860.879,-646.193 875.108,-868.772 923,-915 929.263,-921.046 936.522,-925.773 944.351,-929.44"/>
<polygon fill="#000000" stroke="#000000" points="943.198,-932.749 953.78,-933.271 945.833,-926.264 943.198,-932.749"/>
</g>
<!-- sourcefile~xh5for_dpp_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node21" class="node"><title>sourcefile~xh5for_dpp_regular_non_static_grid_series.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node21"><a xlink:href="../sourcefile/xh5for_dpp_regular_non_static_grid_series.f90.html" xlink:title="xh5for_dpp_regular_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1175.5,-906 937.5,-906 937.5,-882 1175.5,-882 1175.5,-906"/>
<text text-anchor="middle" x="1056.5" y="-891.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_regular_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge7" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M858.421,-591.077C862.508,-641.349 880.703,-833.248 923,-873 924.758,-874.652 926.591,-876.205 928.49,-877.664"/>
<polygon fill="#000000" stroke="#000000" points="926.946,-880.841 937.208,-883.476 930.828,-875.017 926.946,-880.841"/>
</g>
<!-- sourcefile~xh5for_ch_regular_grid.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node22" class="node"><title>sourcefile~xh5for_ch_regular_grid.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node22"><a xlink:href="../sourcefile/xh5for_ch_regular_grid.f90.html" xlink:title="xh5for_ch_regular_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1127.5,-864 985.5,-864 985.5,-840 1127.5,-840 1127.5,-864"/>
<text text-anchor="middle" x="1056.5" y="-849.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_regular_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_grid.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge8" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M858.912,-591.186C864.469,-636.965 886.342,-797.74 923,-831 937.321,-843.994 956.29,-850.768 975.386,-853.991"/>
<polygon fill="#000000" stroke="#000000" points="974.975,-857.467 985.359,-855.366 975.931,-850.533 974.975,-857.467"/>
</g>
<!-- sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node23" class="node"><title>sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node23"><a xlink:href="../sourcefile/xh5for_ch_rectilinear_non_static_grid_series.f90.html" xlink:title="xh5for_ch_rectilinear_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1178.5,-822 934.5,-822 934.5,-798 1178.5,-798 1178.5,-822"/>
<text text-anchor="middle" x="1056.5" y="-807.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_rectilinear_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge9" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M857.21,-591.042C857.048,-627.298 861.893,-736.177 923,-789 924.333,-790.152 925.702,-791.254 927.105,-792.308"/>
<polygon fill="#000000" stroke="#000000" points="925.209,-795.251 935.484,-797.838 929.065,-789.408 925.209,-795.251"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_triangles.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node24" class="node"><title>sourcefile~xh5for_ch_unstructured_triangles.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node24"><a xlink:href="../sourcefile/xh5for_ch_unstructured_triangles.f90.html" xlink:title="xh5for_ch_unstructured_triangles.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1151.5,-780 961.5,-780 961.5,-756 1151.5,-756 1151.5,-780"/>
<text text-anchor="middle" x="1056.5" y="-765.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_triangles.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_triangles.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge10" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_triangles.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M858.273,-591.093C860.97,-622.414 872.779,-706.545 923,-747 931.471,-753.824 941.261,-758.857 951.607,-762.525"/>
<polygon fill="#000000" stroke="#000000" points="950.654,-765.894 961.243,-765.522 952.734,-759.21 950.654,-765.894"/>
</g>
<!-- sourcefile~xh5for_ch_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node25" class="node"><title>sourcefile~xh5for_ch_regular_non_static_grid_series.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node25"><a xlink:href="../sourcefile/xh5for_ch_regular_non_static_grid_series.f90.html" xlink:title="xh5for_ch_regular_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1172,-738 941,-738 941,-714 1172,-714 1172,-738"/>
<text text-anchor="middle" x="1056.5" y="-723.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_regular_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_non_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge11" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M859.964,-591.078C865.87,-616.697 883.392,-676.466 923,-705 925.874,-707.071 928.875,-708.97 931.977,-710.71"/>
<polygon fill="#000000" stroke="#000000" points="930.455,-713.862 940.965,-715.204 933.586,-707.601 930.455,-713.862"/>
</g>
<!-- sourcefile~xh5for_ch_regular_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node26" class="node"><title>sourcefile~xh5for_ch_regular_static_grid_series.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node26"><a xlink:href="../sourcefile/xh5for_ch_regular_static_grid_series.f90.html" xlink:title="xh5for_ch_regular_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1160,-696 953,-696 953,-672 1160,-672 1160,-696"/>
<text text-anchor="middle" x="1056.5" y="-681.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_regular_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge12" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_regular_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M863.174,-591.094C872.676,-609.882 893.691,-645.715 923,-663 929.344,-666.742 936.144,-669.879 943.188,-672.505"/>
<polygon fill="#000000" stroke="#000000" points="942.333,-675.91 952.927,-675.777 944.562,-669.275 942.333,-675.91"/>
</g>
<!-- sourcefile~xh5for_dpp_rectilinear_grid.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node27" class="node"><title>sourcefile~xh5for_dpp_rectilinear_grid.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node27"><a xlink:href="../sourcefile/xh5for_dpp_rectilinear_grid.f90.html" xlink:title="xh5for_dpp_rectilinear_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1137,-654 976,-654 976,-630 1137,-630 1137,-654"/>
<text text-anchor="middle" x="1056.5" y="-639.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_rectilinear_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_grid.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge13" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M872.404,-591.126C885.086,-600.787 904.189,-613.84 923,-621 936.53,-626.15 951.3,-630.036 965.912,-632.97"/>
<polygon fill="#000000" stroke="#000000" points="965.512,-636.456 975.985,-634.853 966.798,-629.575 965.512,-636.456"/>
</g>
<!-- sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node28" class="node"><title>sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node28"><a xlink:href="../sourcefile/xh5for_dpp_rectilinear_static_grid_series.f90.html" xlink:title="xh5for_dpp_rectilinear_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1169.5,-612 943.5,-612 943.5,-588 1169.5,-588 1169.5,-612"/>
<text text-anchor="middle" x="1056.5" y="-597.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_rectilinear_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge14" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M887.143,-582.144C900.039,-583.512 916.09,-585.214 933.121,-587.02"/>
<polygon fill="#000000" stroke="#000000" points="932.931,-590.52 943.245,-588.094 933.67,-583.559 932.931,-590.52"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node29" class="node"><title>sourcefile~xh5for_dpp_unstructured_mixedtopology.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node29"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_mixedtopology.f90.html" xlink:title="xh5for_dpp_unstructured_mixedtopology.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1169.5,-570 943.5,-570 943.5,-546 1169.5,-546 1169.5,-570"/>
<text text-anchor="middle" x="1056.5" y="-555.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_mixedtopology.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge15" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_mixedtopology.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M887.143,-575.856C900.039,-574.488 916.09,-572.786 933.121,-570.98"/>
<polygon fill="#000000" stroke="#000000" points="933.67,-574.441 943.245,-569.906 932.931,-567.48 933.67,-574.441"/>
</g>
<!-- sourcefile~xh5for_dpp_regular_grid.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node30" class="node"><title>sourcefile~xh5for_dpp_regular_grid.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node30"><a xlink:href="../sourcefile/xh5for_dpp_regular_grid.f90.html" xlink:title="xh5for_dpp_regular_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1130.5,-528 982.5,-528 982.5,-504 1130.5,-504 1130.5,-528"/>
<text text-anchor="middle" x="1056.5" y="-513.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_regular_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_grid.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge16" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M872.404,-566.874C885.086,-557.213 904.189,-544.16 923,-537 938.412,-531.134 955.435,-526.906 971.998,-523.86"/>
<polygon fill="#000000" stroke="#000000" points="972.965,-527.245 982.233,-522.111 971.787,-520.345 972.965,-527.245"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node31" class="node"><title>sourcefile~xh5for_ch_unstructured_tetrahedron.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node31"><a xlink:href="../sourcefile/xh5for_ch_unstructured_tetrahedron.f90.html" xlink:title="xh5for_ch_unstructured_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1159,-486 954,-486 954,-462 1159,-462 1159,-486"/>
<text text-anchor="middle" x="1056.5" y="-471.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_tetrahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge17" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M863.174,-566.906C872.676,-548.118 893.691,-512.285 923,-495 929.7,-491.048 936.907,-487.771 944.375,-485.058"/>
<polygon fill="#000000" stroke="#000000" points="945.544,-488.358 953.955,-481.916 943.363,-481.707 945.544,-488.358"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_triangles.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node32" class="node"><title>sourcefile~xh5for_dpp_unstructured_triangles.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node32"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_triangles.f90.html" xlink:title="xh5for_dpp_unstructured_triangles.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1155,-444 958,-444 958,-420 1155,-420 1155,-444"/>
<text text-anchor="middle" x="1056.5" y="-429.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_triangles.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_triangles.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge18" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_triangles.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M859.964,-566.922C865.87,-541.303 883.392,-481.534 923,-453 930.714,-447.443 939.337,-443.124 948.383,-439.79"/>
<polygon fill="#000000" stroke="#000000" points="949.527,-443.098 957.942,-436.661 947.349,-436.445 949.527,-443.098"/>
</g>
<!-- sourcefile~xh5for_dpp_regular_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node33" class="node"><title>sourcefile~xh5for_dpp_regular_static_grid_series.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node33"><a xlink:href="../sourcefile/xh5for_dpp_regular_static_grid_series.f90.html" xlink:title="xh5for_dpp_regular_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1163.5,-402 949.5,-402 949.5,-378 1163.5,-378 1163.5,-402"/>
<text text-anchor="middle" x="1056.5" y="-387.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_regular_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge19" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_regular_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M858.273,-566.907C860.97,-535.586 872.779,-451.455 923,-411 928.301,-406.73 934.119,-403.161 940.266,-400.189"/>
<polygon fill="#000000" stroke="#000000" points="941.666,-403.397 949.486,-396.249 938.915,-396.96 941.666,-403.397"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node34" class="node"><title>sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node34"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_static_tetrahedron.f90.html" xlink:title="xh5for_dpp_unstructured_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1178,-360 935,-360 935,-336 1178,-336 1178,-360"/>
<text text-anchor="middle" x="1056.5" y="-345.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge20" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M857.21,-566.958C857.048,-530.702 861.893,-421.823 923,-369 924.333,-367.848 925.702,-366.746 927.105,-365.692"/>
<polygon fill="#000000" stroke="#000000" points="929.065,-368.592 935.484,-360.162 925.209,-362.749 929.065,-368.592"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node35" class="node"><title>sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node35"><a xlink:href="../sourcefile/xh5for_ch_unstructured_hexahedron_perf.f90.html" xlink:title="xh5for_ch_unstructured_hexahedron_perf.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1172.5,-318 940.5,-318 940.5,-294 1172.5,-294 1172.5,-318"/>
<text text-anchor="middle" x="1056.5" y="-303.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_hexahedron_perf.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge21" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron_perf.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M858.912,-566.814C864.469,-521.035 886.342,-360.26 923,-327 925.713,-324.539 928.592,-322.301 931.607,-320.268"/>
<polygon fill="#000000" stroke="#000000" points="933.6,-323.156 940.44,-315.066 930.047,-317.125 933.6,-323.156"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node36" class="node"><title>sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node36"><a xlink:href="../sourcefile/xh5for_ch_unstructured_static_tetrahedron.f90.html" xlink:title="xh5for_ch_unstructured_static_tetrahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1174.5,-276 938.5,-276 938.5,-252 1174.5,-252 1174.5,-276"/>
<text text-anchor="middle" x="1056.5" y="-261.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_static_tetrahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge22" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_static_tetrahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M858.421,-566.923C862.508,-516.651 880.703,-324.752 923,-285 925.188,-282.944 927.491,-281.042 929.893,-279.283"/>
<polygon fill="#000000" stroke="#000000" points="931.869,-282.174 938.413,-273.841 928.102,-276.274 931.869,-282.174"/>
</g>
<!-- sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node37" class="node"><title>sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node37"><a xlink:href="../sourcefile/xh5for_dpp_rectilinear_non_static_grid_series.f90.html" xlink:title="xh5for_dpp_rectilinear_non_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1181.5,-234 931.5,-234 931.5,-210 1181.5,-210 1181.5,-234"/>
<text text-anchor="middle" x="1056.5" y="-219.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_rectilinear_non_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge23" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_rectilinear_non_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M858.07,-566.729C860.879,-511.807 875.108,-289.228 923,-243 923.99,-242.045 925.004,-241.122 926.042,-240.232"/>
<polygon fill="#000000" stroke="#000000" points="928.479,-242.782 934.425,-234.012 924.308,-237.16 928.479,-242.782"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node38" class="node"><title>sourcefile~xh5for_ch_unstructured_mixedtopology.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node38"><a xlink:href="../sourcefile/xh5for_ch_unstructured_mixedtopology.f90.html" xlink:title="xh5for_ch_unstructured_mixedtopology.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1166,-192 947,-192 947,-168 1166,-168 1166,-192"/>
<text text-anchor="middle" x="1056.5" y="-177.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_mixedtopology.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_mixedtopology.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge24" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_mixedtopology.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M857.779,-566.82C859.39,-507.98 869.401,-253.833 923,-201 927.41,-196.653 932.333,-192.983 937.615,-189.895"/>
<polygon fill="#000000" stroke="#000000" points="939.478,-192.875 946.815,-185.232 936.313,-186.631 939.478,-192.875"/>
</g>
<!-- sourcefile~xh5for_ch_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node39" class="node"><title>sourcefile~xh5for_ch_rectilinear_static_grid_series.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node39"><a xlink:href="../sourcefile/xh5for_ch_rectilinear_static_grid_series.f90.html" xlink:title="xh5for_ch_rectilinear_static_grid_series.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1166.5,-150 946.5,-150 946.5,-126 1166.5,-126 1166.5,-150"/>
<text text-anchor="middle" x="1056.5" y="-135.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_rectilinear_static_grid_series.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_static_grid_series.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge25" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_static_grid_series.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M857.55,-566.752C858.072,-503.923 863.715,-218.432 923,-159 927.32,-154.669 932.149,-151.006 937.336,-147.919"/>
<polygon fill="#000000" stroke="#000000" points="939.097,-150.948 946.377,-143.251 935.886,-144.728 939.097,-150.948"/>
</g>
<!-- sourcefile~xh5for_dpp_unstructured_quadilateral.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node40" class="node"><title>sourcefile~xh5for_dpp_unstructured_quadilateral.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node40"><a xlink:href="../sourcefile/xh5for_dpp_unstructured_quadilateral.f90.html" xlink:title="xh5for_dpp_unstructured_quadilateral.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1162.5,-108 950.5,-108 950.5,-84 1162.5,-84 1162.5,-108"/>
<text text-anchor="middle" x="1056.5" y="-93.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_dpp_unstructured_quadilateral.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_quadilateral.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge26" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_dpp_unstructured_quadilateral.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M857.361,-566.873C856.866,-500.634 857.949,-183.123 923,-117 928.334,-111.578 934.463,-107.198 941.098,-103.681"/>
<polygon fill="#000000" stroke="#000000" points="942.798,-106.752 950.432,-99.4054 939.883,-100.388 942.798,-106.752"/>
</g>
<!-- sourcefile~xh5for_ch_rectilinear_grid.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node41" class="node"><title>sourcefile~xh5for_ch_rectilinear_grid.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node41"><a xlink:href="../sourcefile/xh5for_ch_rectilinear_grid.f90.html" xlink:title="xh5for_ch_rectilinear_grid.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1133.5,-66 979.5,-66 979.5,-42 1133.5,-42 1133.5,-66"/>
<text text-anchor="middle" x="1056.5" y="-51.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_rectilinear_grid.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_grid.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge27" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_rectilinear_grid.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M857.201,-566.711C855.76,-496.6 852.259,-147.747 923,-75 935.284,-62.368 951.879,-55.368 969.164,-51.7744"/>
<polygon fill="#000000" stroke="#000000" points="970.122,-55.1619 979.394,-50.0354 968.949,-48.2609 970.122,-55.1619"/>
</g>
<!-- sourcefile~xh5for_ch_unstructured_hexahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node42" class="node"><title>sourcefile~xh5for_ch_unstructured_hexahedron.f90</title>
<g id="a_sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_node42"><a xlink:href="../sourcefile/xh5for_ch_unstructured_hexahedron.f90.html" xlink:title="xh5for_ch_unstructured_hexahedron.f90">
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="1160,-24 953,-24 953,-0 1160,-0 1160,-24"/>
<text text-anchor="middle" x="1056.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">xh5for_ch_unstructured_hexahedron.f90</text>
</a>
</g>
</g>
<!-- sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron.f90 -->
<g id="sourcefile~~structured_spatial_grid_descriptor.f90~~AfferentGraph_edge28" class="edge"><title>sourcefile~xh5for.f90&#45;&gt;sourcefile~xh5for_ch_unstructured_hexahedron.f90</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M858.106,-566.555C862.004,-488.903 884.592,-72.8877 923,-33 928.98,-26.7898 936.001,-21.9365 943.636,-18.1775"/>
<polygon fill="#000000" stroke="#000000" points="945.027,-21.3894 952.857,-14.2516 942.285,-14.9489 945.027,-21.3894"/>
</g>
</g>
</svg>
</div>
                <script>var pansourcefilestructured_spatial_grid_descriptorf90AfferentGraph = svgPanZoom('#sourcefilestructured_spatial_grid_descriptorf90AfferentGraph', {
                    zoomEnabled: true,
                    controlIconsEnabled: true,
                    fit: true,
                    center: true,});
                    </script>
                <div><a type="button" class="graph-help" data-toggle="modal" href="#graph-help-text">Help</a></div>
                <div class="modal fade" id="graph-help-text" tabindex="-1" role="dialog">
                  <div class="modal-dialog modal-lg" role="document">
                    <div class="modal-content">
                      <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        <h4 class="modal-title" id="-graph-help-label">Graph Key</h4>
                      </div>
                      <div class="modal-body">
                        
    <p>Nodes of different colours represent the following: </p>
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: Graph Key Pages: 1 -->
<svg width="190pt" height="32pt"
 viewBox="0.00 0.00 190.00 32.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 28)">
<title>Graph Key</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-28 186,-28 186,4 -4,4"/>
<!-- Source File -->
<g id="node1" class="node"><title>Source File</title>
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="67,-24 0,-24 0,-0 67,-0 67,-24"/>
<text text-anchor="middle" x="33.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Source File</text>
</g>
<!-- This Page&#39;s Entity -->
<g id="node2" class="node"><title>This Page&#39;s Entity</title>
<polygon fill="none" stroke="black" points="182,-24 85,-24 85,-0 182,-0 182,-24"/>
<text text-anchor="middle" x="133.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50">This Page&#39;s Entity</text>
</g>
</g>
</svg>

    
    <p>Solid arrows point from a file to a file which depends upon it. A file 
    is dependent upon another if the latter must be compiled before the former
    can be.
    </p>
    
                      </div>
                    </div>
                  </div>
                </div>
                
      
      <br>

    <section class="visible-xs visible-sm hidden-md">
      






<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#mods-1">Modules</a></h3></div>
  <div id="mods-1" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../module/structured_spatial_grid_descriptor.html">structured_spatial_grid_descriptor</a>
      
    </div>
  </div>
</div>















<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div>
  <div class="list-group">
    <a class="list-group-item" href="../sourcefile/structured_spatial_grid_descriptor.f90.html#src">structured_spatial_grid_descriptor.f90</a>
  </div>
</div>


    </section>
    <br class="visible-xs visible-sm hidden-md">

    <section>
      <h2><span class="anchor" id="src"></span>Source Code</h2>
    <div class="hl"><pre><a name="ln-1"></a><span class="k">module </span><span class="n">structured_spatial_grid_descriptor</span>
<a name="ln-2"></a>
<a name="ln-3"></a><span class="k">use </span><span class="n">PENF</span><span class="p">,</span> <span class="n">only</span> <span class="p">:</span> <span class="n">I4P</span><span class="p">,</span> <span class="n">I8P</span>
<a name="ln-4"></a><span class="k">use </span><span class="n">spatial_grid_descriptor</span>
<a name="ln-5"></a><span class="k">use </span><span class="n">mpi_environment</span>
<a name="ln-6"></a><span class="k">use </span><span class="n">xh5for_utils</span>
<a name="ln-7"></a><span class="k">use </span><span class="n">xh5for_parameters</span>
<a name="ln-8"></a>
<a name="ln-9"></a><span class="k">implicit none</span>
<a name="ln-10"></a>
<a name="ln-11"></a><span class="k">private</span>
<a name="ln-12"></a>
<a name="ln-13"></a><span class="k">    type</span><span class="p">,</span> <span class="k">extends</span><span class="p">(</span><span class="n">spatial_grid_descriptor_t</span><span class="p">)</span> <span class="kd">::</span> <span class="n">structured_spatial_grid_descriptor_t</span>
<a name="ln-14"></a>    <span class="k">private</span>
<a name="ln-15"></a><span class="k">        </span><span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                <span class="kd">::</span> <span class="n">GlobalXSize</span> <span class="o">=</span> <span class="mi">0</span>  <span class="c">!&lt; Total size of X coordinates of the spatial grid</span>
<a name="ln-16"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                <span class="kd">::</span> <span class="n">GlobalYSize</span> <span class="o">=</span> <span class="mi">0</span>  <span class="c">!&lt; Total size of Y coordinates of the spatial grid</span>
<a name="ln-17"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                <span class="kd">::</span> <span class="n">GlobalZSize</span> <span class="o">=</span> <span class="mi">0</span>  <span class="c">!&lt; Total size of Z coordinates of the spatial grid</span>
<a name="ln-18"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                   <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">XSizePerGrid</span><span class="p">(:)</span>  <span class="c">!&lt; Array of sizes of X coordinates per grid</span>
<a name="ln-19"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                   <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">YSizePerGrid</span><span class="p">(:)</span>  <span class="c">!&lt; Array of sizes of Y coordinates per grid</span>
<a name="ln-20"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                   <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">ZSizePerGrid</span><span class="p">(:)</span>  <span class="c">!&lt; Array of sizes of Z coordinates per grid</span>
<a name="ln-21"></a>    <span class="k">contains</span>
<a name="ln-22"></a><span class="k">        procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">InitializeUnstructuredWriter</span>   <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_InitializeUnstructuredWriter</span>
<a name="ln-23"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">InitializeStructuredWriter</span>     <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_InitializeStructuredWriter</span>
<a name="ln-24"></a>
<a name="ln-25"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="k">Allocate</span>                       <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_Allocate</span>
<a name="ln-26"></a>
<a name="ln-27"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">SetGlobalXSize</span>                 <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_SetGlobalXSize</span>
<a name="ln-28"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">SetGlobalYSize</span>                 <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_SetGlobalYSize</span>
<a name="ln-29"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">SetGlobalZSize</span>                 <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_SetGlobalZSize</span>
<a name="ln-30"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetGlobalXSize</span>                 <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_GetGlobalXSize</span>
<a name="ln-31"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetGlobalYSize</span>                 <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_GetGlobalYSize</span>
<a name="ln-32"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetGlobalZSize</span>                 <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_GetGlobalZSize</span>
<a name="ln-33"></a>
<a name="ln-34"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">SetXSizePerGridID</span>              <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_SetXSizePerGridID</span>
<a name="ln-35"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">SetYSizePerGridID</span>              <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_SetYSizePerGridID</span>
<a name="ln-36"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">SetZSizePerGridID</span>              <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_SetZSizePerGridID</span>
<a name="ln-37"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetXSizePerGridID</span>              <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_GetXSizePerGridID</span>
<a name="ln-38"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetYSizePerGridID</span>              <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_GetYSizePerGridID</span>
<a name="ln-39"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetZSizePerGridID</span>              <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_GetZSizePerGridID</span>
<a name="ln-40"></a>
<a name="ln-41"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetXSizeOffsetPerGridID</span>        <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_GetXSizeOffsetPerGridID</span>
<a name="ln-42"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetYSizeOffsetPerGridID</span>        <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_GetYSizeOffsetPerGridID</span>
<a name="ln-43"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetZSizeOffsetPerGridID</span>        <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_GetZSizeOffsetPerGridID</span>
<a name="ln-44"></a>
<a name="ln-45"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">SetGlobalTopologySize</span>          <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_SetGlobalTopologySize</span>
<a name="ln-46"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetGlobalTopologySize</span>          <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_GetGlobalTopologySize</span>
<a name="ln-47"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">SetTopologySizePerGridID</span>       <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_SetTopologySizePerGridID</span>
<a name="ln-48"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetTopologySizePerGridID</span>       <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_GetTopologySizePerGridID</span>
<a name="ln-49"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetTopologySizeOffsetPerGridID</span> <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_GetTopologySizeOffsetPerGridID</span>
<a name="ln-50"></a>
<a name="ln-51"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">SetGlobalGeometrySize</span>          <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_SetGlobalGeometrySize</span>
<a name="ln-52"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetGlobalGeometrySize</span>          <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_GetGlobalGeometrySize</span>
<a name="ln-53"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">SetGeometrySizePerGridID</span>       <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_SetGeometrySizePerGridID</span>
<a name="ln-54"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetGeometrySizePerGridID</span>       <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_GetGeometrySizePerGridID</span>
<a name="ln-55"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">GetGeometrySizeOffsetPerGridID</span> <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_GetGeometrySizeOffsetPerGridID</span>
<a name="ln-56"></a>
<a name="ln-57"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">BroadcastMetadata</span>              <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_BroadcastMetadata</span>
<a name="ln-58"></a>        <span class="k">procedure</span><span class="p">,</span> <span class="k">public</span> <span class="kd">::</span> <span class="n">Free</span>                           <span class="o">=&gt;</span> <span class="n">str_spatial_grid_descriptor_Free</span>
<a name="ln-59"></a>    <span class="k">end type </span><span class="n">structured_spatial_grid_descriptor_t</span>
<a name="ln-60"></a>
<a name="ln-61"></a><span class="k">public</span><span class="kd">::</span> <span class="n">structured_spatial_grid_descriptor_t</span>
<a name="ln-62"></a>
<a name="ln-63"></a>
<a name="ln-64"></a><span class="k">contains</span>
<a name="ln-65"></a>
<a name="ln-66"></a>
<a name="ln-67"></a><span class="k">    subroutine </span><span class="n">str_spatial_grid_descriptor_InitializeUnstructuredWriter</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">MPIEnvironment</span><span class="p">,</span> <span class="n">NumberOfNodes</span><span class="p">,</span> <span class="n">NumberOfElements</span><span class="p">,</span> <span class="n">TopologyType</span><span class="p">,</span> <span class="n">GeometryType</span><span class="p">,</span> <span class="n">GridType</span><span class="p">,</span> <span class="n">StaticGrid</span><span class="p">)</span>
<a name="ln-68"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-69"></a>    <span class="c">!&lt; Initilized the spatial grid descriptor type</span>
<a name="ln-70"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-71"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>  <span class="c">!&lt; Spatial grid descriptor type</span>
<a name="ln-72"></a>        <span class="k">type</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">target</span><span class="p">,</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">MPIEnvironment</span>   <span class="c">!&lt; MPI environment type</span>
<a name="ln-73"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                     <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">NumberOfNodes</span>    <span class="c">!&lt; Number of nodes of the current grid</span>
<a name="ln-74"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                     <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">NumberOfElements</span> <span class="c">!&lt; Number of elements of the current grid</span>
<a name="ln-75"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                     <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">TopologyType</span>     <span class="c">!&lt; Topology type of the current grid</span>
<a name="ln-76"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                     <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">GeometryType</span>     <span class="c">!&lt; Geometry type of the current grid</span>
<a name="ln-77"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                     <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">GridType</span>         <span class="c">!&lt; Grid type of the current grid</span>
<a name="ln-78"></a>        <span class="kt">logical</span><span class="p">,</span>      <span class="k">optional</span><span class="p">,</span>           <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">StaticGrid</span>       <span class="c">!&lt; Static Grid flag</span>
<a name="ln-79"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                    <span class="kd">::</span> <span class="n">i</span>                <span class="c">!&lt; Loop index in NumberOfGrids</span>
<a name="ln-80"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-81"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">Free</span><span class="p">()</span>
<a name="ln-82"></a>        <span class="c">! Error. Not supported</span>
<a name="ln-83"></a>    <span class="k">end subroutine </span><span class="n">str_spatial_grid_descriptor_InitializeUnstructuredWriter</span>
<a name="ln-84"></a>
<a name="ln-85"></a>
<a name="ln-86"></a>    <span class="k">subroutine </span><span class="n">str_spatial_grid_descriptor_InitializeStructuredWriter</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">MPIEnvironment</span><span class="p">,</span> <span class="n">XDim</span><span class="p">,</span> <span class="n">YDim</span><span class="p">,</span> <span class="n">ZDim</span><span class="p">,</span> <span class="n">GridType</span><span class="p">,</span> <span class="n">StaticGrid</span><span class="p">)</span>
<a name="ln-87"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-88"></a>    <span class="c">!&lt; Initilized the spatial grid descriptor type</span>
<a name="ln-89"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-90"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>  <span class="c">!&lt; Spatial grid descriptor type</span>
<a name="ln-91"></a>        <span class="k">type</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">target</span><span class="p">,</span>          <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">MPIEnvironment</span>   <span class="c">!&lt; MPI environment type</span>
<a name="ln-92"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                     <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">XDim</span>             <span class="c">!&lt; Number of points of the X axis</span>
<a name="ln-93"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                     <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">YDim</span>             <span class="c">!&lt; Number of points of the Y axis</span>
<a name="ln-94"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                     <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">ZDim</span>             <span class="c">!&lt; Number of points of the Z axis</span>
<a name="ln-95"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                     <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">GridType</span>         <span class="c">!&lt; Grid type of the current grid</span>
<a name="ln-96"></a>        <span class="kt">logical</span><span class="p">,</span>      <span class="k">optional</span><span class="p">,</span>           <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">StaticGrid</span>       <span class="c">!&lt; Static grid flag</span>
<a name="ln-97"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                    <span class="kd">::</span> <span class="n">NumberOfNodes</span>    <span class="c">!&lt; Number of nodes of the current grid</span>
<a name="ln-98"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                    <span class="kd">::</span> <span class="n">NumberOfElements</span> <span class="c">!&lt; Number of elements of the current grid</span>
<a name="ln-99"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                    <span class="kd">::</span> <span class="n">TopologyType</span>     <span class="c">!&lt; Topology type of the current grid</span>
<a name="ln-100"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                    <span class="kd">::</span> <span class="n">GeometryType</span>     <span class="c">!&lt; Geometry type of the current grid</span>
<a name="ln-101"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                    <span class="kd">::</span> <span class="n">i</span>                <span class="c">!&lt; Loop index in NumberOfGrids</span>
<a name="ln-102"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-103"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">Free</span><span class="p">()</span>
<a name="ln-104"></a>        <span class="k">select case</span><span class="p">(</span><span class="n">GridType</span><span class="p">)</span>
<a name="ln-105"></a>            <span class="k">case</span> <span class="p">(</span><span class="n">XDMF_GRID_TYPE_CURVILINEAR</span><span class="p">)</span>
<a name="ln-106"></a>                <span class="k">if</span><span class="p">(</span><span class="n">ZDim</span> <span class="o">==</span> <span class="mi">0_I8P</span><span class="p">)</span> <span class="k">then</span>
<a name="ln-107"></a><span class="k">                    </span><span class="n">TopologyType</span><span class="o">=</span><span class="n">XDMF_TOPOLOGY_TYPE_2DSMESH</span>
<a name="ln-108"></a>                    <span class="n">GeometryType</span><span class="o">=</span><span class="n">XDMF_GEOMETRY_TYPE_VXVY</span>
<a name="ln-109"></a>                <span class="k">else</span>
<a name="ln-110"></a><span class="k">                    </span><span class="n">TopologyType</span><span class="o">=</span><span class="n">XDMF_TOPOLOGY_TYPE_3DSMESH</span>
<a name="ln-111"></a>                    <span class="n">GeometryType</span><span class="o">=</span><span class="n">XDMF_GEOMETRY_TYPE_VXVYVZ</span>
<a name="ln-112"></a>                <span class="n">endif</span>
<a name="ln-113"></a>            <span class="k">case</span> <span class="p">(</span><span class="n">XDMF_GRID_TYPE_RECTILINEAR</span><span class="p">)</span>
<a name="ln-114"></a>                <span class="k">if</span><span class="p">(</span><span class="n">ZDim</span> <span class="o">==</span> <span class="mi">0_I8P</span><span class="p">)</span> <span class="k">then</span>
<a name="ln-115"></a><span class="k">                    </span><span class="n">TopologyType</span><span class="o">=</span><span class="n">XDMF_TOPOLOGY_TYPE_2DRECTMESH</span>
<a name="ln-116"></a>                    <span class="n">GeometryType</span><span class="o">=</span><span class="n">XDMF_GEOMETRY_TYPE_VXVY</span>
<a name="ln-117"></a>                <span class="k">else</span>
<a name="ln-118"></a><span class="k">                    </span><span class="n">TopologyType</span><span class="o">=</span><span class="n">XDMF_TOPOLOGY_TYPE_3DRECTMESH</span>
<a name="ln-119"></a>                    <span class="n">GeometryType</span><span class="o">=</span><span class="n">XDMF_GEOMETRY_TYPE_VXVYVZ</span>
<a name="ln-120"></a>                <span class="n">endif</span>
<a name="ln-121"></a>            <span class="k">case</span> <span class="p">(</span><span class="n">XDMF_GRID_TYPE_REGULAR</span><span class="p">)</span>
<a name="ln-122"></a>                <span class="k">if</span><span class="p">(</span><span class="n">ZDim</span> <span class="o">==</span> <span class="mi">0_I8P</span><span class="p">)</span> <span class="k">then</span>
<a name="ln-123"></a><span class="k">                    </span><span class="n">TopologyType</span><span class="o">=</span><span class="n">XDMF_TOPOLOGY_TYPE_2DCORECTMESH</span>
<a name="ln-124"></a>                    <span class="n">GeometryType</span><span class="o">=</span><span class="n">XDMF_GEOMETRY_TYPE_ORIGIN_DXDY</span>
<a name="ln-125"></a>                <span class="k">else</span>
<a name="ln-126"></a><span class="k">                    </span><span class="n">TopologyType</span><span class="o">=</span><span class="n">XDMF_TOPOLOGY_TYPE_3DCORECTMESH</span>
<a name="ln-127"></a>                    <span class="n">GeometryType</span><span class="o">=</span><span class="n">XDMF_GEOMETRY_TYPE_ORIGIN_DXDYDZ</span>
<a name="ln-128"></a>                <span class="n">endif</span>
<a name="ln-129"></a>            <span class="k">case </span><span class="n">DEFAULT</span>
<a name="ln-130"></a>                <span class="c">! Error</span>
<a name="ln-131"></a>        <span class="k">end select</span>
<a name="ln-132"></a><span class="k">        </span><span class="n">NumberOfNodes</span> <span class="o">=</span> <span class="nb">MAX</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="n">XDim</span><span class="p">)</span><span class="o">*</span><span class="nb">MAX</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="n">YDim</span><span class="p">)</span><span class="o">*</span><span class="nb">MAX</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="n">ZDim</span><span class="p">)</span>
<a name="ln-133"></a>        <span class="n">NumberOfElements</span> <span class="o">=</span> <span class="p">(</span><span class="nb">MAX</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="n">XDim</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="nb">MAX</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="n">YDim</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="nb">MAX</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="n">ZDim</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>
<a name="ln-134"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">DefaultInitializeWriter</span><span class="p">(</span><span class="n">MPIEnvironment</span> <span class="o">=</span> <span class="n">MPIEnvironment</span><span class="p">,</span>     <span class="p">&amp;</span>
<a name="ln-135"></a>                                          <span class="n">NumberOfNodes</span> <span class="o">=</span> <span class="n">NumberOfNodes</span><span class="p">,</span>       <span class="p">&amp;</span>
<a name="ln-136"></a>                                          <span class="n">NumberOfElements</span> <span class="o">=</span> <span class="n">NumberOfElements</span><span class="p">,</span> <span class="p">&amp;</span>
<a name="ln-137"></a>                                          <span class="n">TopologyType</span> <span class="o">=</span> <span class="n">TopologyType</span><span class="p">,</span>         <span class="p">&amp;</span>
<a name="ln-138"></a>                                          <span class="n">GeometryType</span> <span class="o">=</span> <span class="n">GeometryType</span><span class="p">,</span>         <span class="p">&amp;</span>
<a name="ln-139"></a>                                          <span class="n">GridType</span> <span class="o">=</span> <span class="n">GridType</span><span class="p">,</span>                 <span class="p">&amp;</span>
<a name="ln-140"></a>                                          <span class="n">StaticGrid</span> <span class="o">=</span> <span class="n">StaticGrid</span><span class="p">)</span>
<a name="ln-141"></a>        <span class="k">call </span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">mpi_allgather</span><span class="p">(</span><span class="n">XDim</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">)</span>
<a name="ln-142"></a>        <span class="k">call </span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">mpi_allgather</span><span class="p">(</span><span class="n">YDim</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">)</span>
<a name="ln-143"></a>        <span class="k">call </span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">mpi_allgather</span><span class="p">(</span><span class="n">ZDim</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">)</span>
<a name="ln-144"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SetGlobalXsize</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">))</span>
<a name="ln-145"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SetGlobalYsize</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">))</span>
<a name="ln-146"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SetGlobalZsize</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">))</span>
<a name="ln-147"></a>    <span class="k">end subroutine </span><span class="n">str_spatial_grid_descriptor_InitializeStructuredWriter</span>
<a name="ln-148"></a>
<a name="ln-149"></a>
<a name="ln-150"></a>    <span class="k">subroutine </span><span class="n">str_spatial_grid_descriptor_Allocate</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">NumberOfGrids</span><span class="p">)</span>
<a name="ln-151"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-152"></a>    <span class="c">!&lt; Set the total number of nodes of the spatial grid</span>
<a name="ln-153"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-154"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>          <span class="c">!&lt; Spatial grid descriptor type</span>
<a name="ln-155"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">NumberOfGrids</span> <span class="c">!&lt; Total number of grids of the spatial grid</span>
<a name="ln-156"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-157"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SetNumberOfGrids</span><span class="p">(</span><span class="n">NumberOfGrids</span> <span class="o">=</span> <span class="n">NumberOfGrids</span><span class="p">)</span>
<a name="ln-158"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">AllocateNumberOfNodesPerGrid</span><span class="p">(</span><span class="n">NumberOfGrids</span> <span class="o">=</span> <span class="n">NumberOfGrids</span><span class="p">)</span>
<a name="ln-159"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">AllocateNumberOfElementsPerGrid</span><span class="p">(</span><span class="n">NumberOfGrids</span> <span class="o">=</span> <span class="n">NumberOfGrids</span><span class="p">)</span>
<a name="ln-160"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">AllocateTopologyTypePerGrid</span><span class="p">(</span><span class="n">NumberOfGrids</span> <span class="o">=</span> <span class="n">NumberOfGrids</span><span class="p">)</span>    
<a name="ln-161"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">AllocateGeometryTypePerGrid</span><span class="p">(</span><span class="n">NumberOfGrids</span> <span class="o">=</span> <span class="n">NumberOfGrids</span><span class="p">)</span>
<a name="ln-162"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">)</span>
<a name="ln-163"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">)</span>
<a name="ln-164"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">)</span>
<a name="ln-165"></a>        <span class="k">allocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">(</span><span class="n">NumberOfGrids</span><span class="p">))</span>
<a name="ln-166"></a>        <span class="k">allocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">(</span><span class="n">NumberOfGrids</span><span class="p">))</span>
<a name="ln-167"></a>        <span class="k">allocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">(</span><span class="n">NumberOfGrids</span><span class="p">))</span>
<a name="ln-168"></a>    <span class="k">end subroutine </span><span class="n">str_spatial_grid_descriptor_Allocate</span>
<a name="ln-169"></a>
<a name="ln-170"></a>
<a name="ln-171"></a>    <span class="k">subroutine </span><span class="n">str_spatial_grid_descriptor_SetGlobalXSize</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">GlobalXSize</span><span class="p">)</span>
<a name="ln-172"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-173"></a>    <span class="c">!&lt; Set the total number of X points of the spatial grid</span>
<a name="ln-174"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-175"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>         <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-176"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">GlobalXSize</span>  <span class="c">!&lt; Total size of X points of the spatial grid</span>
<a name="ln-177"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-178"></a>        <span class="n">this</span><span class="p">%</span><span class="n">GlobalXSize</span> <span class="o">=</span> <span class="n">GlobalXSize</span>
<a name="ln-179"></a>    <span class="k">end subroutine </span><span class="n">str_spatial_grid_descriptor_SetGlobalXSize</span>
<a name="ln-180"></a>
<a name="ln-181"></a>
<a name="ln-182"></a>    <span class="k">subroutine </span><span class="n">str_spatial_grid_descriptor_SetGlobalYSize</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">GlobalYSize</span><span class="p">)</span>
<a name="ln-183"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-184"></a>    <span class="c">!&lt; Set the total number Y of points of the spatial grid</span>
<a name="ln-185"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-186"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>         <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-187"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">GlobalYSize</span>  <span class="c">!&lt; Total size of Y points of the spatial grid</span>
<a name="ln-188"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-189"></a>        <span class="n">this</span><span class="p">%</span><span class="n">GlobalYSize</span> <span class="o">=</span> <span class="n">GlobalYSize</span>
<a name="ln-190"></a>    <span class="k">end subroutine </span><span class="n">str_spatial_grid_descriptor_SetGlobalYSize</span>
<a name="ln-191"></a>
<a name="ln-192"></a>
<a name="ln-193"></a>    <span class="k">subroutine </span><span class="n">str_spatial_grid_descriptor_SetGlobalZSize</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">GlobalZSize</span><span class="p">)</span>
<a name="ln-194"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-195"></a>    <span class="c">!&lt; Set the total number Z of points of the spatial grid</span>
<a name="ln-196"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-197"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>         <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-198"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">GlobalZSize</span>  <span class="c">!&lt; Total size of Z points of the spatial grid</span>
<a name="ln-199"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-200"></a>        <span class="n">this</span><span class="p">%</span><span class="n">GlobalZSize</span> <span class="o">=</span> <span class="n">GlobalZSize</span>
<a name="ln-201"></a>    <span class="k">end subroutine </span><span class="n">str_spatial_grid_descriptor_SetGlobalZSize</span>
<a name="ln-202"></a>
<a name="ln-203"></a>
<a name="ln-204"></a>    <span class="k">function </span><span class="n">str_spatial_grid_descriptor_GetGlobalXSize</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">GlobalXSize</span><span class="p">)</span>
<a name="ln-205"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-206"></a>    <span class="c">!&lt; Get the total number X of points of the spatial grid</span>
<a name="ln-207"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-208"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>         <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-209"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                            <span class="kd">::</span> <span class="n">GlobalXSize</span>  <span class="c">!&lt; Total size of X points of the spatial grid</span>
<a name="ln-210"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-211"></a>        <span class="n">GlobalXSize</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GlobalXSize</span>
<a name="ln-212"></a>    <span class="k">end function </span><span class="n">str_spatial_grid_descriptor_GetGlobalXSize</span>
<a name="ln-213"></a>
<a name="ln-214"></a>
<a name="ln-215"></a>    <span class="k">function </span><span class="n">str_spatial_grid_descriptor_GetGlobalYSize</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">GlobalYSize</span><span class="p">)</span>
<a name="ln-216"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-217"></a>    <span class="c">!&lt; Get the total number Y of points of the spatial grid</span>
<a name="ln-218"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-219"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>         <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-220"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                            <span class="kd">::</span> <span class="n">GlobalYSize</span>  <span class="c">!&lt; Total size of Y points of the spatial grid</span>
<a name="ln-221"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-222"></a>        <span class="n">GlobalYSize</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GlobalYSize</span>
<a name="ln-223"></a>    <span class="k">end function </span><span class="n">str_spatial_grid_descriptor_GetGlobalYSize</span>
<a name="ln-224"></a>
<a name="ln-225"></a>
<a name="ln-226"></a>    <span class="k">function </span><span class="n">str_spatial_grid_descriptor_GetGlobalZSize</span><span class="p">(</span><span class="n">this</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">GlobalZSize</span><span class="p">)</span>
<a name="ln-227"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-228"></a>    <span class="c">!&lt; Get the total number Z of points of the spatial grid</span>
<a name="ln-229"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-230"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>         <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-231"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                            <span class="kd">::</span> <span class="n">GlobalZSize</span>  <span class="c">!&lt; Total size of Z points of the spatial grid</span>
<a name="ln-232"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-233"></a>        <span class="n">GlobalZSize</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GlobalZSize</span>
<a name="ln-234"></a>    <span class="k">end function </span><span class="n">str_spatial_grid_descriptor_GetGlobalZSize</span>
<a name="ln-235"></a>
<a name="ln-236"></a>
<a name="ln-237"></a>    <span class="k">subroutine </span><span class="n">str_spatial_grid_descriptor_SetXSizePerGridID</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">XSize</span><span class="p">,</span> <span class="n">ID</span><span class="p">)</span>
<a name="ln-238"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-239"></a>    <span class="c">!&lt; Set the the number of X points for a particular grid given its ID</span>
<a name="ln-240"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-241"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>           <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-242"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">XSize</span>          <span class="c">!&lt; Number Of X points of the grid ID</span>
<a name="ln-243"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">ID</span>             <span class="c">!&lt; Grid identifier</span>
<a name="ln-244"></a>        <span class="k">type</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">pointer</span>                                   <span class="kd">::</span> <span class="n">MPIEnvironment</span> <span class="c">!&lt; MPI Environment pointer</span>
<a name="ln-245"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-246"></a>        <span class="k">if</span><span class="p">(.</span><span class="nb">not</span><span class="p">.</span> <span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-247"></a><span class="k">            allocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">GetNumberOfGrids</span><span class="p">()))</span>
<a name="ln-248"></a>            <span class="n">MPIEnvironment</span> <span class="o">=&gt;</span> <span class="n">this</span><span class="p">%</span><span class="n">GetMPIEnvironment</span><span class="p">()</span>
<a name="ln-249"></a>            <span class="k">call </span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">mpi_allgather</span><span class="p">(</span><span class="n">XSize</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">)</span>
<a name="ln-250"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SetGlobalXSize</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">))</span>
<a name="ln-251"></a>        <span class="n">endif</span>
<a name="ln-252"></a>        <span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">(</span><span class="n">ID</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="o">=</span> <span class="n">XSize</span>
<a name="ln-253"></a>    <span class="k">end subroutine </span><span class="n">str_spatial_grid_descriptor_SetXSizePerGridID</span>
<a name="ln-254"></a>
<a name="ln-255"></a>
<a name="ln-256"></a>    <span class="k">subroutine </span><span class="n">str_spatial_grid_descriptor_SetYSizePerGridID</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">YSize</span><span class="p">,</span> <span class="n">ID</span><span class="p">)</span>
<a name="ln-257"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-258"></a>    <span class="c">!&lt; Set the number of Y points for a particular grid given its ID</span>
<a name="ln-259"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-260"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>           <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-261"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">YSize</span>          <span class="c">!&lt; Number Of Y points of the grid ID</span>
<a name="ln-262"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">ID</span>             <span class="c">!&lt; Grid identifier</span>
<a name="ln-263"></a>        <span class="k">type</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">pointer</span>                                   <span class="kd">::</span> <span class="n">MPIEnvironment</span> <span class="c">!&lt; MPI Environment pointer</span>
<a name="ln-264"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-265"></a>        <span class="k">if</span><span class="p">(.</span><span class="nb">not</span><span class="p">.</span> <span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-266"></a><span class="k">            allocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">GetNumberOfGrids</span><span class="p">()))</span>
<a name="ln-267"></a>            <span class="n">MPIEnvironment</span> <span class="o">=&gt;</span> <span class="n">this</span><span class="p">%</span><span class="n">GetMPIEnvironment</span><span class="p">()</span>
<a name="ln-268"></a>            <span class="k">call </span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">mpi_allgather</span><span class="p">(</span><span class="n">YSize</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">)</span>
<a name="ln-269"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SetGlobalYSize</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">))</span>
<a name="ln-270"></a>        <span class="n">endif</span>
<a name="ln-271"></a>        <span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">(</span><span class="n">ID</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="o">=</span> <span class="n">YSize</span>
<a name="ln-272"></a>    <span class="k">end subroutine </span><span class="n">str_spatial_grid_descriptor_SetYSizePerGridID</span>
<a name="ln-273"></a>
<a name="ln-274"></a>
<a name="ln-275"></a>    <span class="k">subroutine </span><span class="n">str_spatial_grid_descriptor_SetZSizePerGridID</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">ZSize</span><span class="p">,</span> <span class="n">ID</span><span class="p">)</span>
<a name="ln-276"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-277"></a>    <span class="c">!&lt; Set the number of Z points for a particular grid given its ID</span>
<a name="ln-278"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-279"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>           <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-280"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">ZSize</span>          <span class="c">!&lt; Number Of Z points of the grid ID</span>
<a name="ln-281"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">ID</span>             <span class="c">!&lt; Grid identifier</span>
<a name="ln-282"></a>        <span class="k">type</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">pointer</span>                                   <span class="kd">::</span> <span class="n">MPIEnvironment</span> <span class="c">!&lt; MPI Environment pointer</span>
<a name="ln-283"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-284"></a>        <span class="k">if</span><span class="p">(.</span><span class="nb">not</span><span class="p">.</span> <span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">))</span> <span class="k">then</span>
<a name="ln-285"></a><span class="k">            allocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">GetNumberOfGrids</span><span class="p">()))</span>
<a name="ln-286"></a>            <span class="n">MPIEnvironment</span> <span class="o">=&gt;</span> <span class="n">this</span><span class="p">%</span><span class="n">GetMPIEnvironment</span><span class="p">()</span>
<a name="ln-287"></a>            <span class="k">call </span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">mpi_allgather</span><span class="p">(</span><span class="n">ZSize</span><span class="p">,</span> <span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">)</span>
<a name="ln-288"></a>            <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SetGlobalZSize</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">))</span>
<a name="ln-289"></a>        <span class="n">endif</span>
<a name="ln-290"></a>        <span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">(</span><span class="n">ID</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="o">=</span> <span class="n">ZSize</span>
<a name="ln-291"></a>    <span class="k">end subroutine </span><span class="n">str_spatial_grid_descriptor_SetZSizePerGridID</span>
<a name="ln-292"></a>
<a name="ln-293"></a>
<a name="ln-294"></a>    <span class="k">function </span><span class="n">str_spatial_grid_descriptor_GetXSizePerGridID</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">ID</span><span class="p">)</span>
<a name="ln-295"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-296"></a>    <span class="c">!&lt; Return the number of X points for a particular grid given its ID</span>
<a name="ln-297"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-298"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>  <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-299"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">ID</span>    <span class="c">!&lt; Grid identifier</span>
<a name="ln-300"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span> <span class="kd">::</span> <span class="n">str_spatial_grid_descriptor_GetXSizePerGridID</span>    <span class="c">!&lt; Number of X points of the grid ID</span>
<a name="ln-301"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-302"></a>        <span class="n">str_spatial_grid_descriptor_GetXSizePerGridID</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">(</span><span class="n">ID</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span>
<a name="ln-303"></a>    <span class="k">end function </span><span class="n">str_spatial_grid_descriptor_GetXSizePerGridID</span>
<a name="ln-304"></a>
<a name="ln-305"></a>
<a name="ln-306"></a>    <span class="k">function </span><span class="n">str_spatial_grid_descriptor_GetYSizePerGridID</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">ID</span><span class="p">)</span>
<a name="ln-307"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-308"></a>    <span class="c">!&lt; Return the number of Y points for a particular grid given its ID</span>
<a name="ln-309"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-310"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>  <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-311"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">ID</span>    <span class="c">!&lt; Grid identifier</span>
<a name="ln-312"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span> <span class="kd">::</span> <span class="n">str_spatial_grid_descriptor_GetYSizePerGridID</span>    <span class="c">!&lt; Number of Y points of the grid ID</span>
<a name="ln-313"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-314"></a>        <span class="n">str_spatial_grid_descriptor_GetYSizePerGridID</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">(</span><span class="n">ID</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span>
<a name="ln-315"></a>    <span class="k">end function </span><span class="n">str_spatial_grid_descriptor_GetYSizePerGridID</span>
<a name="ln-316"></a>
<a name="ln-317"></a>
<a name="ln-318"></a>    <span class="k">function </span><span class="n">str_spatial_grid_descriptor_GetZSizePerGridID</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">ID</span><span class="p">)</span>
<a name="ln-319"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-320"></a>    <span class="c">!&lt; Return the number of Z points for a particular grid given its ID</span>
<a name="ln-321"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-322"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>  <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-323"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">ID</span>    <span class="c">!&lt; Grid identifier</span>
<a name="ln-324"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span> <span class="kd">::</span> <span class="n">str_spatial_grid_descriptor_GetZSizePerGridID</span>    <span class="c">!&lt; Number of Z points of the grid ID</span>
<a name="ln-325"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-326"></a>        <span class="n">str_spatial_grid_descriptor_GetZSizePerGridID</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">(</span><span class="n">ID</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span>
<a name="ln-327"></a>    <span class="k">end function </span><span class="n">str_spatial_grid_descriptor_GetZSizePerGridID</span>
<a name="ln-328"></a>
<a name="ln-329"></a>
<a name="ln-330"></a>    <span class="k">function </span><span class="n">str_spatial_grid_descriptor_GetXSizeOffsetPerGridID</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">ID</span><span class="p">)</span>
<a name="ln-331"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-332"></a>    <span class="c">!&lt; Return the X offset of a particular grid given its ID</span>
<a name="ln-333"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-334"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>   <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-335"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">ID</span>     <span class="c">!&lt; Grid identifier</span>
<a name="ln-336"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span> <span class="kd">::</span> <span class="n">str_spatial_grid_descriptor_GetXSizeOffsetPerGridID</span>  <span class="c">!&lt; X size offset of a grid</span>
<a name="ln-337"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-338"></a>        <span class="n">str_spatial_grid_descriptor_GetXSizeOffsetPerGridID</span> <span class="o">=</span> <span class="nb">sum</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">(:</span><span class="n">ID</span><span class="p">))</span>
<a name="ln-339"></a>    <span class="k">end function </span><span class="n">str_spatial_grid_descriptor_GetXSizeOffsetPerGridID</span>
<a name="ln-340"></a>
<a name="ln-341"></a>
<a name="ln-342"></a>    <span class="k">function </span><span class="n">str_spatial_grid_descriptor_GetYSizeOffsetPerGridID</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">ID</span><span class="p">)</span>
<a name="ln-343"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-344"></a>    <span class="c">!&lt; Return the Y offset of a particular grid given its ID</span>
<a name="ln-345"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-346"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>   <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-347"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">ID</span>     <span class="c">!&lt; Grid identifier</span>
<a name="ln-348"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span> <span class="kd">::</span> <span class="n">str_spatial_grid_descriptor_GetYSizeOffsetPerGridID</span>  <span class="c">!&lt; Y size offset of a grid</span>
<a name="ln-349"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-350"></a>        <span class="n">str_spatial_grid_descriptor_GetYSizeOffsetPerGridID</span> <span class="o">=</span> <span class="nb">sum</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">(:</span><span class="n">ID</span><span class="p">))</span>
<a name="ln-351"></a>    <span class="k">end function </span><span class="n">str_spatial_grid_descriptor_GetYSizeOffsetPerGridID</span>
<a name="ln-352"></a>
<a name="ln-353"></a>
<a name="ln-354"></a>    <span class="k">function </span><span class="n">str_spatial_grid_descriptor_GetZSizeOffsetPerGridID</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">ID</span><span class="p">)</span>
<a name="ln-355"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-356"></a>    <span class="c">!&lt; Return the Z offset of a particular grid given its ID</span>
<a name="ln-357"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-358"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>   <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-359"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">ID</span>     <span class="c">!&lt; Grid identifier</span>
<a name="ln-360"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span> <span class="kd">::</span> <span class="n">str_spatial_grid_descriptor_GetZSizeOffsetPerGridID</span>  <span class="c">!&lt; Z size offset of a grid</span>
<a name="ln-361"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-362"></a>        <span class="n">str_spatial_grid_descriptor_GetZSizeOffsetPerGridID</span> <span class="o">=</span> <span class="nb">sum</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">(:</span><span class="n">ID</span><span class="p">))</span>
<a name="ln-363"></a>    <span class="k">end function </span><span class="n">str_spatial_grid_descriptor_GetZSizeOffsetPerGridID</span>
<a name="ln-364"></a>
<a name="ln-365"></a>
<a name="ln-366"></a>    <span class="k">subroutine </span><span class="n">str_spatial_grid_descriptor_SetTopologySizePerGridID</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">TopologySize</span><span class="p">,</span> <span class="n">ID</span><span class="p">,</span> <span class="k">Dimension</span><span class="p">)</span>
<a name="ln-367"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-368"></a>    <span class="c">!&lt; Set the topology size of a particular grid given its ID</span>
<a name="ln-369"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-370"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>           <span class="c">!&lt; Unstructured Spatial grid descriptor type</span>
<a name="ln-371"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">TopologySize</span>   <span class="c">!&lt; Topology size of the grid ID</span>
<a name="ln-372"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">ID</span>             <span class="c">!&lt; Grid identifier</span>
<a name="ln-373"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>                      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Dimension</span>      <span class="c">!&lt; Dimension of the topology (1=X,2=Y,3=Z)</span>
<a name="ln-374"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">AuxDim</span>         <span class="c">!&lt; Dimension aux variable</span>
<a name="ln-375"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-376"></a>        <span class="n">AuxDim</span> <span class="o">=</span> <span class="mi">1</span> <span class="c">! X</span>
<a name="ln-377"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="k">Dimension</span><span class="p">))</span> <span class="n">AuxDim</span> <span class="o">=</span> <span class="k">Dimension</span>
<a name="ln-378"></a><span class="k">        call </span><span class="n">this</span><span class="p">%</span><span class="n">SetGeometrySizePerGridID</span><span class="p">(</span><span class="n">GeometrySize</span> <span class="o">=</span> <span class="n">TopologySize</span><span class="p">,</span> <span class="n">ID</span> <span class="o">=</span> <span class="n">ID</span><span class="p">,</span> <span class="k">Dimension</span> <span class="o">=</span> <span class="n">AuxDim</span><span class="p">)</span>
<a name="ln-379"></a>    <span class="k">end subroutine </span><span class="n">str_spatial_grid_descriptor_SetTopologySizePerGridID</span>
<a name="ln-380"></a>
<a name="ln-381"></a>
<a name="ln-382"></a>    <span class="k">function </span><span class="n">str_spatial_grid_descriptor_GetTopologySizePerGridID</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">ID</span><span class="p">,</span> <span class="k">Dimension</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">TopologySize</span><span class="p">)</span>
<a name="ln-383"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-384"></a>    <span class="c">!&lt; Return the Geometry size of a particular grid given its ID (and dimension)</span>
<a name="ln-385"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-386"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>           <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-387"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">ID</span>             <span class="c">!&lt; Grid identifier</span>
<a name="ln-388"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>                      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Dimension</span>      <span class="c">!&lt; Dimension of the topology (1=X,2=Y,3=Z)</span>
<a name="ln-389"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">SpaceDimension</span> <span class="c">!&lt; Space dimension</span>
<a name="ln-390"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">TopologySize</span>   <span class="c">!&lt; Topology Size of a grid</span>
<a name="ln-391"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">AuxDim</span>         <span class="c">!&lt; Dimension aux variable</span>
<a name="ln-392"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-393"></a>        <span class="n">AuxDim</span> <span class="o">=</span> <span class="mi">1</span> <span class="c">! X</span>
<a name="ln-394"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="k">Dimension</span><span class="p">))</span> <span class="n">AuxDim</span> <span class="o">=</span> <span class="k">Dimension</span>
<a name="ln-395"></a><span class="k">        </span><span class="n">TopologySize</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GetGeometrySizePerGridID</span><span class="p">(</span><span class="n">ID</span><span class="o">=</span><span class="n">ID</span><span class="p">,</span> <span class="k">Dimension</span><span class="o">=</span><span class="n">AuxDim</span><span class="p">)</span>
<a name="ln-396"></a>    <span class="k">end function </span><span class="n">str_spatial_grid_descriptor_GetTopologySizePerGridID</span>
<a name="ln-397"></a>
<a name="ln-398"></a>
<a name="ln-399"></a>    <span class="k">subroutine </span><span class="n">str_spatial_grid_descriptor_SetGlobalTopologySize</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">GlobalTopologySize</span><span class="p">,</span> <span class="k">Dimension</span><span class="p">)</span>
<a name="ln-400"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-401"></a>    <span class="c">!&lt; Set the total Geometry size of the spatial grid</span>
<a name="ln-402"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-403"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-404"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">GlobalTopologySize</span>  <span class="c">!&lt; Total size of coordinates of the spatial grid</span>
<a name="ln-405"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>                      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Dimension</span>           <span class="c">!&lt; Dimension of the geometry (1=X,2=Y,3=Z)</span>
<a name="ln-406"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">AuxDim</span>              <span class="c">!&lt; Dimension aux variable</span>
<a name="ln-407"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-408"></a>        <span class="n">AuxDim</span> <span class="o">=</span> <span class="mi">1</span> <span class="c">! X</span>
<a name="ln-409"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="k">Dimension</span><span class="p">))</span> <span class="n">AuxDim</span> <span class="o">=</span> <span class="k">Dimension</span>
<a name="ln-410"></a><span class="k">        call </span><span class="n">this</span><span class="p">%</span><span class="n">SetGlobalGeometrySize</span><span class="p">(</span><span class="n">GlobalGeometrySize</span> <span class="o">=</span> <span class="n">GlobalTopologySize</span><span class="p">,</span> <span class="k">Dimension</span> <span class="o">=</span> <span class="n">AuxDim</span><span class="p">)</span>
<a name="ln-411"></a>    <span class="k">end subroutine </span><span class="n">str_spatial_grid_descriptor_SetGlobalTopologySize</span>
<a name="ln-412"></a>
<a name="ln-413"></a>
<a name="ln-414"></a>    <span class="k">function </span><span class="n">str_spatial_grid_descriptor_GetGlobalTopologySize</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="k">Dimension</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">GlobalTopologySize</span><span class="p">)</span>
<a name="ln-415"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-416"></a>    <span class="c">!&lt; Set the total topology size of the spatial grid</span>
<a name="ln-417"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-418"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>               <span class="c">!&lt; Unstructured Spatial grid descriptor type</span>
<a name="ln-419"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>                      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="k">Dimension</span>          <span class="c">!&lt; Dimension of the topology (1=X,2=Y,3=Z)</span>
<a name="ln-420"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                            <span class="kd">::</span> <span class="n">GlobalTopologySize</span> <span class="c">!&lt; Topology size of the grid ID</span>
<a name="ln-421"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                            <span class="kd">::</span> <span class="n">AuxDim</span>             <span class="c">!&lt; Dimension aux variable</span>
<a name="ln-422"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-423"></a>        <span class="n">AuxDim</span> <span class="o">=</span> <span class="mi">1</span> <span class="c">! X</span>
<a name="ln-424"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="k">Dimension</span><span class="p">))</span> <span class="n">AuxDim</span> <span class="o">=</span> <span class="k">Dimension</span>
<a name="ln-425"></a><span class="k">        </span><span class="n">GlobalTopologySize</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GetGlobalGeometrySize</span><span class="p">(</span><span class="k">Dimension</span> <span class="o">=</span> <span class="n">AuxDim</span><span class="p">)</span>
<a name="ln-426"></a>    <span class="k">end function </span><span class="n">str_spatial_grid_descriptor_GetGlobalTopologySize</span>
<a name="ln-427"></a>
<a name="ln-428"></a>
<a name="ln-429"></a>    <span class="k">function </span><span class="n">str_spatial_grid_descriptor_GetTopologySizeOffsetPerGridID</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">ID</span><span class="p">,</span> <span class="k">Dimension</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">Offset</span><span class="p">)</span>
<a name="ln-430"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-431"></a>    <span class="c">!&lt; Return the Topology size offset of a particular grid given its ID (and dimension)</span>
<a name="ln-432"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-433"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>           <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-434"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">ID</span>             <span class="c">!&lt; Grid identifier</span>
<a name="ln-435"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>                      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Dimension</span>      <span class="c">!&lt; Dimension of the Topology (1=X,2=Y,3=Z)</span>
<a name="ln-436"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">SpaceDimension</span> <span class="c">!&lt; Space dimension</span>
<a name="ln-437"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">Offset</span>         <span class="c">!&lt; Topology size offset of a grid</span>
<a name="ln-438"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">AuxDim</span>         <span class="c">!&lt; Dimension aux variable</span>
<a name="ln-439"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-440"></a>        <span class="n">AuxDim</span> <span class="o">=</span> <span class="mi">1</span> <span class="c">! X</span>
<a name="ln-441"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="k">Dimension</span><span class="p">))</span> <span class="n">AuxDim</span> <span class="o">=</span> <span class="k">Dimension</span>
<a name="ln-442"></a><span class="k">        select case</span> <span class="p">(</span><span class="n">AuxDim</span><span class="p">)</span>
<a name="ln-443"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="c">! X</span>
<a name="ln-444"></a>                <span class="n">Offset</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GetXSizeOffsetPerGridID</span><span class="p">(</span><span class="n">ID</span><span class="o">=</span><span class="n">ID</span><span class="p">)</span>
<a name="ln-445"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="c">! Y</span>
<a name="ln-446"></a>                <span class="n">Offset</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GetYSizeOffsetPerGridID</span><span class="p">(</span><span class="n">ID</span><span class="o">=</span><span class="n">ID</span><span class="p">)</span>
<a name="ln-447"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="c">! Z</span>
<a name="ln-448"></a>                <span class="n">Offset</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GetZSizeOffsetPerGridID</span><span class="p">(</span><span class="n">ID</span><span class="o">=</span><span class="n">ID</span><span class="p">)</span>
<a name="ln-449"></a>        <span class="k">end select</span>
<a name="ln-450"></a><span class="k">    end function </span><span class="n">str_spatial_grid_descriptor_GetTopologySizeOffsetPerGridID</span>
<a name="ln-451"></a>
<a name="ln-452"></a>
<a name="ln-453"></a>    <span class="k">subroutine </span><span class="n">str_spatial_grid_descriptor_SetGlobalGeometrySize</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">GlobalGeometrySize</span><span class="p">,</span> <span class="k">Dimension</span><span class="p">)</span>
<a name="ln-454"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-455"></a>    <span class="c">!&lt; Set the total Geometry size of the spatial grid</span>
<a name="ln-456"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-457"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>                <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-458"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">GlobalGeometrySize</span>  <span class="c">!&lt; Total size of coordinates of the spatial grid</span>
<a name="ln-459"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>                      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Dimension</span>           <span class="c">!&lt; Dimension of the geometry (1=X,2=Y,3=Z)</span>
<a name="ln-460"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">AuxDim</span>              <span class="c">!&lt; Dimension aux variable</span>
<a name="ln-461"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-462"></a>        <span class="n">AuxDim</span> <span class="o">=</span> <span class="mi">1</span> <span class="c">! X</span>
<a name="ln-463"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="k">Dimension</span><span class="p">))</span> <span class="n">AuxDim</span> <span class="o">=</span> <span class="k">Dimension</span>
<a name="ln-464"></a><span class="k">        select case</span> <span class="p">(</span><span class="n">AuxDim</span><span class="p">)</span>
<a name="ln-465"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="c">! X</span>
<a name="ln-466"></a>                <span class="n">this</span><span class="p">%</span><span class="n">GlobalXSize</span> <span class="o">=</span> <span class="n">GlobalGeometrySize</span>
<a name="ln-467"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="c">! Y</span>
<a name="ln-468"></a>                <span class="n">this</span><span class="p">%</span><span class="n">GlobalYSize</span> <span class="o">=</span> <span class="n">GlobalGeometrySize</span>
<a name="ln-469"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="c">! Z</span>
<a name="ln-470"></a>                <span class="n">this</span><span class="p">%</span><span class="n">GlobalZSize</span> <span class="o">=</span> <span class="n">GlobalGeometrySize</span>
<a name="ln-471"></a>        <span class="k">end select</span>
<a name="ln-472"></a><span class="k">    end subroutine </span><span class="n">str_spatial_grid_descriptor_SetGlobalGeometrySize</span>
<a name="ln-473"></a>
<a name="ln-474"></a>
<a name="ln-475"></a>    <span class="k">function </span><span class="n">str_spatial_grid_descriptor_GetGlobalGeometrySize</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="k">Dimension</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">GlobalGeometrySize</span><span class="p">)</span>
<a name="ln-476"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-477"></a>    <span class="c">!&lt; Get the total geometry size of the spatial grid  (with dimension)</span>
<a name="ln-478"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-479"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>               <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-480"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>                      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span> <span class="kd">::</span> <span class="k">Dimension</span>          <span class="c">!&lt; Dimension of the geometry (1=X,2=Y,3=Z)</span>
<a name="ln-481"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                            <span class="kd">::</span> <span class="n">GlobalGeometrySize</span> <span class="c">!&lt; Total size of coordinates of the spatial grid</span>
<a name="ln-482"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                            <span class="kd">::</span> <span class="n">SpaceDimension</span>     <span class="c">!&lt; Space dimension</span>
<a name="ln-483"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                            <span class="kd">::</span> <span class="n">AuxDim</span>             <span class="c">!&lt; Dimension aux variable</span>
<a name="ln-484"></a>        <span class="k">type</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">pointer</span>                                <span class="kd">::</span> <span class="n">MPIEnvironment</span>     <span class="c">!&lt; MPI Environmnet pointer</span>
<a name="ln-485"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-486"></a>        <span class="n">AuxDim</span> <span class="o">=</span> <span class="mi">1</span> <span class="c">! X</span>
<a name="ln-487"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="k">Dimension</span><span class="p">))</span> <span class="n">AuxDim</span> <span class="o">=</span> <span class="k">Dimension</span>
<a name="ln-488"></a><span class="k">        </span><span class="n">MPIEnvironment</span> <span class="o">=&gt;</span> <span class="n">this</span><span class="p">%</span><span class="n">GetMPIEnvironment</span><span class="p">()</span>
<a name="ln-489"></a>        <span class="k">select case</span> <span class="p">(</span><span class="n">AuxDim</span><span class="p">)</span>
<a name="ln-490"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="c">! X</span>
<a name="ln-491"></a>                <span class="n">GlobalGeometrySize</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GlobalXSize</span>
<a name="ln-492"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="c">! Y</span>
<a name="ln-493"></a>                <span class="n">GlobalGeometrySize</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GlobalYSize</span>
<a name="ln-494"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="c">! Z</span>
<a name="ln-495"></a>                <span class="n">GlobalGeometrySize</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GlobalZSize</span>
<a name="ln-496"></a>        <span class="k">end select</span>
<a name="ln-497"></a><span class="k">    end function </span><span class="n">str_spatial_grid_descriptor_GetGlobalGeometrySize</span>
<a name="ln-498"></a>
<a name="ln-499"></a>
<a name="ln-500"></a>    <span class="k">subroutine </span><span class="n">str_spatial_grid_descriptor_SetGeometrySizePerGridID</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">GeometrySize</span><span class="p">,</span> <span class="n">ID</span><span class="p">,</span> <span class="k">Dimension</span><span class="p">)</span>
<a name="ln-501"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-502"></a>    <span class="c">!&lt; Set the geometry size of a particular grid given its ID (and dimension)</span>
<a name="ln-503"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-504"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-505"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">GeometrySize</span>     <span class="c">!&lt; Geometry size of the grid ID</span>
<a name="ln-506"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">ID</span>               <span class="c">!&lt; Grid identifier</span>
<a name="ln-507"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>                      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Dimension</span>        <span class="c">!&lt; Dimension of the geometry (1=X,2=Y,3=Z)</span>
<a name="ln-508"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">SpaceDimension</span>   <span class="c">!&lt; Space dimension</span>
<a name="ln-509"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">AuxDim</span>           <span class="c">!&lt; Dimension aux variable</span>
<a name="ln-510"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-511"></a>        <span class="n">AuxDim</span> <span class="o">=</span> <span class="mi">1</span> <span class="c">! X</span>
<a name="ln-512"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="k">Dimension</span><span class="p">))</span> <span class="n">AuxDim</span> <span class="o">=</span> <span class="k">Dimension</span>
<a name="ln-513"></a><span class="k">        select case</span> <span class="p">(</span><span class="n">AuxDim</span><span class="p">)</span>
<a name="ln-514"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="c">! X</span>
<a name="ln-515"></a>                <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SetXSizePerGridID</span><span class="p">(</span><span class="n">XSize</span> <span class="o">=</span> <span class="n">GeometrySize</span><span class="p">,</span> <span class="n">ID</span> <span class="o">=</span> <span class="n">ID</span><span class="p">)</span> 
<a name="ln-516"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="c">! Y</span>
<a name="ln-517"></a>                <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SetYSizePerGridID</span><span class="p">(</span><span class="n">YSize</span> <span class="o">=</span> <span class="n">GeometrySize</span><span class="p">,</span> <span class="n">ID</span> <span class="o">=</span> <span class="n">ID</span><span class="p">)</span> 
<a name="ln-518"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="c">! Z</span>
<a name="ln-519"></a>                <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SetZSizePerGridID</span><span class="p">(</span><span class="n">ZSize</span> <span class="o">=</span> <span class="n">GeometrySize</span><span class="p">,</span> <span class="n">ID</span> <span class="o">=</span> <span class="n">ID</span><span class="p">)</span> 
<a name="ln-520"></a>        <span class="k">end select</span>
<a name="ln-521"></a><span class="k">    end subroutine </span><span class="n">str_spatial_grid_descriptor_SetGeometrySizePerGridID</span>
<a name="ln-522"></a>
<a name="ln-523"></a>
<a name="ln-524"></a>    <span class="k">function </span><span class="n">str_spatial_grid_descriptor_GetGeometrySizePerGridID</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">ID</span><span class="p">,</span> <span class="k">Dimension</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">GeometrySize</span><span class="p">)</span>
<a name="ln-525"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-526"></a>    <span class="c">!&lt; Return the Geometry size of a particular grid given its ID (and dimension)</span>
<a name="ln-527"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-528"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>           <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-529"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">ID</span>             <span class="c">!&lt; Grid identifier</span>
<a name="ln-530"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>                      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Dimension</span>      <span class="c">!&lt; Dimension of the geometry (1=X,2=Y,3=Z)</span>
<a name="ln-531"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">SpaceDimension</span> <span class="c">!&lt; Space dimension</span>
<a name="ln-532"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">GeometrySize</span>   <span class="c">!&lt; Geometry Size of a grid</span>
<a name="ln-533"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">AuxDim</span>         <span class="c">!&lt; Dimension aux variable</span>
<a name="ln-534"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-535"></a>        <span class="n">AuxDim</span> <span class="o">=</span> <span class="mi">1</span> <span class="c">! X</span>
<a name="ln-536"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="k">Dimension</span><span class="p">))</span> <span class="n">AuxDim</span> <span class="o">=</span> <span class="k">Dimension</span>
<a name="ln-537"></a><span class="k">        select case</span> <span class="p">(</span><span class="n">AuxDim</span><span class="p">)</span>
<a name="ln-538"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="c">! X</span>
<a name="ln-539"></a>                <span class="n">GeometrySize</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GetXSizePerGridID</span><span class="p">(</span><span class="n">ID</span> <span class="o">=</span> <span class="n">ID</span><span class="p">)</span> 
<a name="ln-540"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="c">! Y</span>
<a name="ln-541"></a>                <span class="n">GeometrySize</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GetYSizePerGridID</span><span class="p">(</span><span class="n">ID</span> <span class="o">=</span> <span class="n">ID</span><span class="p">)</span> 
<a name="ln-542"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="c">! Z</span>
<a name="ln-543"></a>                <span class="n">GeometrySize</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GetZSizePerGridID</span><span class="p">(</span><span class="n">ID</span> <span class="o">=</span> <span class="n">ID</span><span class="p">)</span> 
<a name="ln-544"></a>        <span class="k">end select</span>
<a name="ln-545"></a><span class="k">    end function </span><span class="n">str_spatial_grid_descriptor_GetGeometrySizePerGridID</span>
<a name="ln-546"></a>
<a name="ln-547"></a>
<a name="ln-548"></a>    <span class="k">function </span><span class="n">str_spatial_grid_descriptor_GetGeometrySizeOffsetPerGridID</span><span class="p">(</span><span class="n">this</span><span class="p">,</span> <span class="n">ID</span><span class="p">,</span> <span class="k">Dimension</span><span class="p">)</span> <span class="k">result</span><span class="p">(</span><span class="n">Offset</span><span class="p">)</span>
<a name="ln-549"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-550"></a>    <span class="c">!&lt; Return the geometry size offset of a particular grid given its ID (and dimension)</span>
<a name="ln-551"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-552"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>           <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-553"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>                                <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">ID</span>             <span class="c">!&lt; Grid identifier</span>
<a name="ln-554"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">optional</span><span class="p">,</span>                      <span class="k">intent</span><span class="p">(</span><span class="n">IN</span><span class="p">)</span>    <span class="kd">::</span> <span class="k">Dimension</span>      <span class="c">!&lt; Dimension of the geometry (1=X,2=Y,3=Z)</span>
<a name="ln-555"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">SpaceDimension</span> <span class="c">!&lt; Space dimension</span>
<a name="ln-556"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I8P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">Offset</span>         <span class="c">!&lt; Geometry size offset of a grid</span>
<a name="ln-557"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">AuxDim</span>         <span class="c">!&lt; Dimension aux variable</span>
<a name="ln-558"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-559"></a>        <span class="n">AuxDim</span> <span class="o">=</span> <span class="mi">1</span> <span class="c">! X</span>
<a name="ln-560"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">present</span><span class="p">(</span><span class="k">Dimension</span><span class="p">))</span> <span class="n">AuxDim</span> <span class="o">=</span> <span class="k">Dimension</span>
<a name="ln-561"></a><span class="k">        select case</span> <span class="p">(</span><span class="n">AuxDim</span><span class="p">)</span>
<a name="ln-562"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="c">! X</span>
<a name="ln-563"></a>                <span class="n">Offset</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GetXSizeOffsetPerGridID</span><span class="p">(</span><span class="n">ID</span><span class="o">=</span><span class="n">ID</span><span class="p">)</span>
<a name="ln-564"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="c">! Y</span>
<a name="ln-565"></a>                <span class="n">Offset</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GetYSizeOffsetPerGridID</span><span class="p">(</span><span class="n">ID</span><span class="o">=</span><span class="n">ID</span><span class="p">)</span>
<a name="ln-566"></a>            <span class="k">case</span> <span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="c">! Z</span>
<a name="ln-567"></a>                <span class="n">Offset</span> <span class="o">=</span> <span class="n">this</span><span class="p">%</span><span class="n">GetZSizeOffsetPerGridID</span><span class="p">(</span><span class="n">ID</span><span class="o">=</span><span class="n">ID</span><span class="p">)</span>
<a name="ln-568"></a>        <span class="k">end select</span>
<a name="ln-569"></a><span class="k">    end function </span><span class="n">str_spatial_grid_descriptor_GetGeometrySizeOffsetPerGridID</span>
<a name="ln-570"></a>
<a name="ln-571"></a>
<a name="ln-572"></a>    <span class="k">subroutine </span><span class="n">str_spatial_grid_descriptor_BroadcastMetadata</span><span class="p">(</span><span class="n">this</span><span class="p">)</span>
<a name="ln-573"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-574"></a>    <span class="c">!&lt; Broadcast metadata after XDMF parsing</span>
<a name="ln-575"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-576"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span>             <span class="c">!&lt; structured Spatial grid descriptor type</span>
<a name="ln-577"></a>        <span class="k">type</span><span class="p">(</span><span class="n">mpi_env_t</span><span class="p">),</span> <span class="k">pointer</span>                                   <span class="kd">::</span> <span class="n">MPIEnvironment</span> <span class="c">!&lt; MPI Environmnet pointer</span>
<a name="ln-578"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-579"></a>        <span class="n">MPIEnvironment</span> <span class="o">=&gt;</span> <span class="n">this</span><span class="p">%</span><span class="n">GetMPIEnvironment</span><span class="p">()</span>
<a name="ln-580"></a>        <span class="k">call </span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">mpi_broadcast</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">)</span>
<a name="ln-581"></a>        <span class="k">call </span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">mpi_broadcast</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">)</span>
<a name="ln-582"></a>        <span class="k">call </span><span class="n">MPIEnvironment</span><span class="p">%</span><span class="n">mpi_broadcast</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">)</span>
<a name="ln-583"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SetGlobalXSize</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">))</span>
<a name="ln-584"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SetGlobalYSize</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">))</span>
<a name="ln-585"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">SetGlobalZSize</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">))</span>
<a name="ln-586"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">DefaultBroadcastMetadata</span><span class="p">()</span>
<a name="ln-587"></a>    <span class="k">end subroutine </span><span class="n">str_spatial_grid_descriptor_BroadcastMetadata</span>
<a name="ln-588"></a>
<a name="ln-589"></a>
<a name="ln-590"></a>    <span class="k">subroutine </span><span class="n">str_spatial_grid_descriptor_Free</span><span class="p">(</span><span class="n">this</span><span class="p">)</span>
<a name="ln-591"></a>    <span class="c">!-----------------------------------------------------------------</span>
<a name="ln-592"></a>    <span class="c">!&lt; Free the spatial grid descriptor type</span>
<a name="ln-593"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-594"></a>        <span class="k">class</span><span class="p">(</span><span class="n">structured_spatial_grid_descriptor_t</span><span class="p">),</span> <span class="k">intent</span><span class="p">(</span><span class="n">INOUT</span><span class="p">)</span> <span class="kd">::</span> <span class="n">this</span> <span class="c">!&lt; Spatial grid descriptor type</span>
<a name="ln-595"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">i</span>    <span class="c">!&lt; Loop index in NumberOfGrids</span>
<a name="ln-596"></a>        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                                               <span class="kd">::</span> <span class="n">j</span>    <span class="c">!&lt; Loop index in NumberOfAttributes</span>
<a name="ln-597"></a>    <span class="c">!----------------------------------------------------------------- </span>
<a name="ln-598"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">XSizePerGrid</span><span class="p">)</span>
<a name="ln-599"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">YSizePerGrid</span><span class="p">)</span>
<a name="ln-600"></a>        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">this</span><span class="p">%</span><span class="n">ZSizePerGrid</span><span class="p">)</span>
<a name="ln-601"></a>        <span class="k">call </span><span class="n">This</span><span class="p">%</span><span class="n">SetGlobalNumberOfNodes</span><span class="p">(</span><span class="n">GlobalNumberOfNodes</span> <span class="o">=</span> <span class="mi">0_I8P</span><span class="p">)</span>
<a name="ln-602"></a>        <span class="k">call </span><span class="n">This</span><span class="p">%</span><span class="n">SetGlobalNumberOfElements</span><span class="p">(</span><span class="n">GlobalNumberOfElements</span> <span class="o">=</span> <span class="mi">0_I8P</span><span class="p">)</span>
<a name="ln-603"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">DeallocateNumberOfNodesPerGrid</span><span class="p">()</span>
<a name="ln-604"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">DeallocateNumberOfElementsPerGrid</span><span class="p">()</span>
<a name="ln-605"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">DeallocateTopologyTypePerGrid</span><span class="p">()</span>
<a name="ln-606"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">DeallocateGeometryTypePerGrid</span><span class="p">()</span>
<a name="ln-607"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">DeallocateGeometryTypePerGrid</span><span class="p">()</span>
<a name="ln-608"></a>        <span class="k">call </span><span class="n">this</span><span class="p">%</span><span class="n">NullifyMPIEnvironment</span><span class="p">()</span>
<a name="ln-609"></a>    <span class="k">end subroutine </span><span class="n">str_spatial_grid_descriptor_Free</span>
<a name="ln-610"></a>
<a name="ln-611"></a>
<a name="ln-612"></a>
<a name="ln-613"></a><span class="k">end module </span><span class="n">structured_spatial_grid_descriptor</span>
</pre></div>

    </section>
    </div>
  </div>

  <section class="visible-xs visible-sm hidden-md">
    <hr>
    

<div class="panel panel-default">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#allfiles-1">All Source Files</a></h3></div>
  <div id="allfiles-1" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../sourcefile/ch_unstructured_hexahedron_perf.f90.html">ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/fox_xdmf.f90.html">fox_xdmf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_contiguous_hyperslab_handler.f90.html">hdf5_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_dataset_per_process_handler.f90.html">hdf5_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_handler.f90.html">hdf5_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_contiguous_hyperslab_handler.f90.html">hdf5_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_structured_dataset_per_process_handler.f90.html">hdf5_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_contiguous_hyperslab_handler.f90.html">hdf5_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/hdf5_unstructured_dataset_per_process_handler.f90.html">hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/mpi_environment.f90.html">mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/spatial_grid_descriptor.f90.html">spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler.f90.html">steps_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/steps_handler_test.f90.html">steps_handler_test.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_contiguous_hyperslab_factory.f90.html">structured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_dataset_per_process_factory.f90.html">structured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_spatial_grid_descriptor.f90.html">structured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/structured_uniform_grid_descriptor.f90.html">structured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_fox_wxml.f90.html">test_FoX_wxml.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90.html">test_hdf5_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_rectilinear_dataset_per_process_handler.f90.html">test_hdf5_rectilinear_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_contiguous_hyperslabs_handler.f90.html">test_hdf5_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_regular_dataset_per_process_handler.f90.html">test_hdf5_regular_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_contiguous_hyperslabs_handler.f90.html">test_hdf5_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_hdf5_unstructured_dataset_per_process_handler.f90.html">test_hdf5_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_mpi_environment.f90.html">test_mpi_environment.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_attribute.f90.html">test_xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_character_data.f90.html">test_xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_dataitem.f90.html">test_xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_geometry.f90.html">test_xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_grid.f90.html">test_xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90.html">test_xdmf_rectilinear_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_rectilinear_dataset_per_process.f90.html">test_xdmf_rectilinear_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_contiguous_hyperslabs_handler.f90.html">test_xdmf_regular_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_regular_dataset_per_process.f90.html">test_xdmf_regular_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_time.f90.html">test_xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_topology.f90.html">test_xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_contiguous_hyperslabs_handler.f90.html">test_xdmf_unstructured_contiguous_hyperslabs_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_unstructured_dataset_per_process.f90.html">test_xdmf_unstructured_dataset_per_process.f90</a>
      
      <a class="list-group-item" href="../sourcefile/test_xdmf_xinclude.f90.html">test_xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_hdf5_mod.f90.html">try_compile_hdf5_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/try_compile_mpi_mod.f90.html">try_compile_mpi_mod.f90</a>
      
      <a class="list-group-item" href="../sourcefile/uniform_grid_descriptor.f90.html">uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_contiguous_hyperslab_factory.f90.html">unstructured_contiguous_hyperslab_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_dataset_per_process_factory.f90.html">unstructured_dataset_per_process_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_spatial_grid_descriptor.f90.html">unstructured_spatial_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/unstructured_uniform_grid_descriptor.f90.html">unstructured_uniform_grid_descriptor.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_attribute.f90.html">xdmf_attribute.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_character_data.f90.html">xdmf_character_data.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_contiguous_hyperslab_handler.f90.html">xdmf_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataitem.f90.html">xdmf_dataitem.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_dataset_per_process_handler.f90.html">xdmf_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_domain.f90.html">xdmf_domain.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_element.f90.html">xdmf_element.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_file.f90.html">xdmf_file.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_geometry.f90.html">xdmf_geometry.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_grid.f90.html">xdmf_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_handler.f90.html">xdmf_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_information.f90.html">xdmf_information.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_parameters.f90.html">xdmf_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_contiguous_hyperslab_handler.f90.html">xdmf_structured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_structured_dataset_per_process_handler.f90.html">xdmf_structured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_time.f90.html">xdmf_time.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_topology.f90.html">xdmf_topology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_contiguous_hyperslab_handler.f90.html">xdmf_unstructured_contiguous_hyperslab_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_unstructured_dataset_per_process_handler.f90.html">xdmf_unstructured_dataset_per_process_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_utils.f90.html">xdmf_utils.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xdmf_xinclude.f90.html">xdmf_xinclude.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for.f90.html">xh5for.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_abstract_factory.f90.html">xh5for_abstract_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_grid.f90.html">xh5for_ch_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_non_static_grid_series.f90.html">xh5for_ch_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_rectilinear_static_grid_series.f90.html">xh5for_ch_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_grid.f90.html">xh5for_ch_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_non_static_grid_series.f90.html">xh5for_ch_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_regular_static_grid_series.f90.html">xh5for_ch_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron.f90.html">xh5for_ch_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_hexahedron_perf.f90.html">xh5for_ch_unstructured_hexahedron_perf.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_mixedtopology.f90.html">xh5for_ch_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_non_static_tetrahedron.f90.html">xh5for_ch_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_quadilateral.f90.html">xh5for_ch_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_mixed_series.f90.html">xh5for_ch_unstructured_static_mixed_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_static_tetrahedron.f90.html">xh5for_ch_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_tetrahedron.f90.html">xh5for_ch_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_ch_unstructured_triangles.f90.html">xh5for_ch_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_grid.f90.html">xh5for_dpp_rectilinear_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_non_static_grid_series.f90.html">xh5for_dpp_rectilinear_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_rectilinear_static_grid_series.f90.html">xh5for_dpp_rectilinear_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_grid.f90.html">xh5for_dpp_regular_grid.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_non_static_grid_series.f90.html">xh5for_dpp_regular_non_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_regular_static_grid_series.f90.html">xh5for_dpp_regular_static_grid_series.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_hexahedron.f90.html">xh5for_dpp_unstructured_hexahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_mixedtopology.f90.html">xh5for_dpp_unstructured_mixedtopology.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_non_static_tetrahedron.f90.html">xh5for_dpp_unstructured_non_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_quadilateral.f90.html">xh5for_dpp_unstructured_quadilateral.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_static_tetrahedron.f90.html">xh5for_dpp_unstructured_static_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_tetrahedron.f90.html">xh5for_dpp_unstructured_tetrahedron.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_dpp_unstructured_triangles.f90.html">xh5for_dpp_unstructured_triangles.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_factory.f90.html">xh5for_factory.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_handler.f90.html">xh5for_handler.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_metadata.f90.html">xh5for_metadata.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_parameters.f90.html">xh5for_parameters.f90</a>
      
      <a class="list-group-item" href="../sourcefile/xh5for_utils.f90.html">xh5for_utils.f90</a>
      
    </div>
  </div>
</div>


  </section>
  
    <hr>    
    </div> <!-- /container -->
    <footer>
      <div class="container">
      <div class="row">
        <div class="col-xs-6 col-md-4"><p>&copy; 2016 </p></div>
        <div class="col-xs-6 col-md-4 col-md-push-4">
          <p class="text-right">
            Documentation generated by 
            <a href="https://github.com/cmacmackin/ford">FORD</a>
             on 2016-11-08T12:24:53.235950 
          </p>
        </div>
        <div class="col-xs-12 col-md-4 col-md-pull-4"><p class="text-center"> XH5For was developed by Víctor Sande Veiga</p></div>
      </div>
      <br>
      </div> <!-- /container -->    
    </footer>

    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
<!--
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
-->
    <script src="../js/bootstrap.min.js"></script>
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="../js/ie10-viewport-bug-workaround.js"></script>

    <!-- MathJax JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script type="text/x-mathjax-config">
      MathJax.Hub.Config({
        TeX: { extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'], equationNumbers: { autoNumber: 'AMS' } },
        jax: ['input/TeX','input/MathML','output/HTML-CSS'],
        extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js'],
        'HTML-CSS': { 
           styles: { '.MathJax_Display, .MathJax .mo, .MathJax .mi, .MathJax .mn': {color: '#000000 ! important'} }
        }
      });
    </script>
    <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
    
    
    <script src="../tipuesearch/tipuesearch_content.js"></script>
    <link  href="../tipuesearch/tipuesearch.css" rel="stylesheet">
    <script src="../tipuesearch/tipuesearch_set.js"></script>
    <script src="../tipuesearch/tipuesearch.js"></script>
    
    
  </body>
</html>